import java.util.List; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.TreeSet; public class exercises { public List sortByFirstLetter(List words) { ArrayList mahWords = new ArrayList(26); for(String word:words) { int pos = Character.getNumericValue(word.toUpperCase().charAt(0)) - 65; if(mahWords.get(pos) == null) mahWords.set(pos, new LinkedList()); mahWords.get(pos).offer(word); } LinkedList ret = new LinkedList(); for(Queue q:mahWords) { for(String word:q) ret.offer(word); } return ret; } public int busiestHour(List dayCalls) { TreeSet set = new TreeSet(); for(PhoneCall call:dayCalls) set.add(call); return set.last().getStartHour(); } }