{"body":"package jmodern;\n\nimport java.util.List;\nimport java.util.Map;\nimport java.util.Random;\nimport static java.util.stream.Collectors.*;\nimport static java.util.stream.IntStream.range;\n\npublic class Main {\n    public static void main(String[] args) {\n        // generate a list of 100 random names\n        List<String> students = range(0, 100).mapToObj(i -> randomString(new Random(), 'A', 'Z', 10)).collect(toList());\n\n        // sort names and group by the first letter\n        Map<Character, List<String>> directory = students.stream().sorted().collect(groupingBy(name -> name.charAt(0)));\n\n        // print a nicely-formatted student directory\n        directory.forEach((letter, names) -> System.out.println(letter + \"\\n\\t\" + names.stream().collect(joining(\"\\n\\t\"))));\n    }\n\n    public static String randomString(Random r, char from, char to, int length) {\n        return r.ints(from, to + 1).limit(length)\n                .collect(() -> new StringBuffer(),\n                        (sb, c) -> sb.append((char) c),\n                        (sb1, sb2) -> sb1.append(sb2)).toString();\n    }\n}","name":"","extension":"","url":"https://www.irccloud.com/pastebin/CigFkdvc","modified":1399572667,"id":"CigFkdvc","size":1089,"lines":27,"own_paste":false,"theme":"","date":1399572667}