void main() {
    Map<String, String> ada = new LinkedHashMap<>();
    ada.put("score", "88");
    ada.put("grade", "B");
    ada.put("absences", "2");

    Map<String, String> grace = new LinkedHashMap<>();
    grace.put("score", "92");
    grace.put("grade", "A");
    grace.put("absences", "0");

    Map<String, Map<String, String>> students = new LinkedHashMap<>();
    students.put("Ada", ada);
    students.put("Grace", grace);

    IO.println(students.get("Ada").get("score"));
    IO.println(students.get("Grace").get("absences"));

    for (String name : students.keySet()) {
        Map<String, String> info = students.get(name);
        IO.println(name + ": " + info.get("score") + " (" + info.get("grade") + ")");
    }
}

// From Groundwork, chapter 9 (ch09-maps-and-sets), box 12.
// This example is from Groundwork, licensed CC BY-NC-SA 4.0.
// Run with: java ch09_12.java
