lots of exercises in java... from https://github.com/exercism/java

School.java 1.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import java.util.*;
  2. class School {
  3. private final Map<Integer, List<String>> database = new HashMap<>();
  4. int numberOfStudents() {
  5. int result = 0;
  6. for (List<String> studentsInGrade : database.values()) {
  7. result += studentsInGrade.size();
  8. }
  9. return result;
  10. }
  11. void add(String student, int grade) {
  12. List<String> students = fetchGradeFromDatabase(grade);
  13. students.add(student);
  14. }
  15. List<String> grade(int grade) {
  16. return new ArrayList<>(fetchGradeFromDatabase(grade));
  17. }
  18. List<String> fetchGradeFromDatabase(int grade) {
  19. if (!database.containsKey(grade)) {
  20. database.put(grade, new LinkedList<>());
  21. }
  22. return database.get(grade);
  23. }
  24. Map<Integer, List<String>> studentsByGradeAlphabetical() {
  25. Map<Integer, List<String>> sortedStudents = new HashMap<>();
  26. for (Integer grade : database.keySet()) {
  27. List<String> studentsInGrade = database.get(grade);
  28. Collections.sort(studentsInGrade);
  29. sortedStudents.put(grade, studentsInGrade);
  30. }
  31. return sortedStudents;
  32. }
  33. }