将同一city的人放到同一组下

    1. @Test
    2. public void testLambda() {
    3. List<Map<String, String>> list = new ArrayList<>();
    4. String[] cities = new String[]{"city1", "city2", "city3", "city4", "city5", "city6", "city7", "city8", "city9", "city10"};
    5. for (int i = 0; i < 100; i++) {
    6. Map<String, String> forAdd = new HashMap<>();
    7. forAdd.put("city", cities[(int) (Math.random() * 10) % 10]);
    8. forAdd.put("name", String.valueOf(i));
    9. list.add(forAdd);
    10. }
    11. Map<String, List<String>> peopleGroupbyCity = list.stream().
    12. collect(Collectors.groupingByConcurrent(m -> m.get("city"), Collectors.mapping(m -> m.get("name"), Collectors.toList())));
    13. System.err.print(peopleGroupbyCity);
    14. }