409です。

実際の処理では生徒とテスト結果を生徒クラスごとにリスト化します。(二次配列かリスト使用)
mapにはMap<Student, Integer>があり、Studentには所属「クラスをもっています。

処理は上記と同じく、最初に配列を用意しておいて、

class AAAA {
static List<String> classList = {"1組", "2組", ... "n組"};
}

class BBBB {
Student[][] mainList;
public BBBB(Map<Student, Integer> m) {
for (int i = 0; i < AAAA.classList.size(); i++) {
List<Student> list = new ArrayList<>();
for (Entry<String, Integer> record : m.entrySet()){
if (record.getClass().equals(AAAA.classList.get(i)){
list.add(record);
}
}
Arrays.fillmainList[i], list);
}
}
}