import java.util.Map; void setup() { String[] words = loadStrings("http://wiki.puzzlers.org/pub/wordlists/unixdict.txt"); topAnagrams(words); } void topAnagrams (String[] words){ HashMap anagrams = new HashMap(); int maxcount = 0; for (String word : words) { char[] chars = word.toCharArray(); chars = sort(chars); String key = new String(chars); if (!anagrams.containsKey(key)) { anagrams.put(key, new StringList()); } anagrams.get(key).append(word); maxcount = max(maxcount, anagrams.get(key).size()); } for (StringList ana : anagrams.values()) { if (ana.size() >= maxcount) { println(ana); } } }