public void findStudentResult(String name) { System.out.println("Student name:" + name); Map<Subject, Double> subjectDoubleMap = new HashMap<>(); Map<Subject, Integer> subjectIntegerMap = new HashMap<>(); /** * бежим по группам с типом результатов double и ищем студента если есть, то записываем в * subjectDoubleMap */ for (Group<Double> indexDGroup : dGroups) { if (indexDGroup.getEvalByName(name) == null) { continue; } else { subjectDoubleMap.put(indexDGroup.getSubject(), indexDGroup.getEvalByName(name)); } } /* * результируюзщий map не пустой, то выводим на экран * */ if (!subjectDoubleMap.isEmpty()) { System.out.println(subjectDoubleMap); double max1 = Collections.max(subjectDoubleMap.values()); for (Subject s : subjectDoubleMap.keySet()) { if (subjectDoubleMap.get(s) == max1) { System.out.println(s + ":" + max1); } } } /** * бежим по группам с типом результатов integer и ищем студента если есть, то записываем в * subjectDoubleMap */ for (Group<Integer> indexIGroup : iGroups) { if (indexIGroup.getEvalByName(name) == null) { continue; } else { subjectIntegerMap.put(indexIGroup.getSubject(), indexIGroup.getEvalByName(name)); } } if (!subjectIntegerMap.isEmpty()) { System.out.println(subjectIntegerMap); int max2 = Collections.max(subjectIntegerMap.values()); for (Subject s : subjectIntegerMap.keySet()) { if (subjectIntegerMap.get(s) == max2) { System.out.println(s + ":" + max2); } } } }