Java Java Data Structures Exploring the Java Collection Framework Maps

Can anyone explain this code? List based on Author name?

Map<String, List<Treet>> treetsByAuthor = new HashMap<String,List<Treet>>(); for(Treet treet: treets){ List<Treet> authoredTreets = treetsByAuthor.get(treet.or()); if(authoredTreets == null){ authoredTreets = new ArrayList<Treet>(); treetsByAuthor.put(treet.getAuthor(),authoredTreets); } authoredTreets.add(treet);

System.out.printf("Treets by author: %s %n", treetsByAuthor);
  System.out.printf("Treets by nickrp: %s %n", treetsByAuthor.get("nickrp"));
}

Steven Parker Brendan Whiting Rob Bridges Steve Hunter Amanda Lam Chris Freeman