Sha256: d516af9a88cf0cab5e5ac08cd24fd0411199e1ca5cff43b53feda7113e27085e
Contents?: true
Size: 1.07 KB
Versions: 212
Compression:
Stored size: 1.07 KB
Contents
import java.util.*; public class School { private final Map<Integer, List<String>> database = new HashMap<>(); public int numberOfStudents() { int result = 0; for (List<String> studentsInGrade: database.values()) { result += studentsInGrade.size(); } return result; } public void add(String student, int grade) { List<String> students = fetchGradeFromDatabase(grade); students.add(student); } public List<String> grade(int grade) { return new ArrayList<>(fetchGradeFromDatabase(grade)); } private List<String> fetchGradeFromDatabase(int grade) { if (!database.containsKey(grade)) { database.put(grade, new LinkedList<>()); } return database.get(grade); } public Map<Integer, List<String>> studentsByGradeAlphabetical() { Map<Integer, List<String>> sortedStudents = new HashMap<>(); for (Integer grade : database.keySet()) { List<String> studentsInGrade = database.get(grade); Collections.sort(studentsInGrade); sortedStudents.put(grade, studentsInGrade); } return sortedStudents; } }
Version data entries
212 entries across 212 versions & 1 rubygems