java使用stream流多条件分组设置优先级
时间: 2023-10-10 16:11:55 浏览: 80
可以使用Stream的groupingBy方法进行多条件分组,设置优先级可以使用LinkedHashMap保存分组顺序。例如:
```
List<Person> people = new ArrayList<>();
Map<String, Map<String, List<Person>>> result =
people.stream()
.collect(Collectors.groupingBy(Person::getCountry,
LinkedHashMap::new,
Collectors.groupingBy(Person::getCity)));
```
这会把人按照国家分组,国家相同的再按照城市分组。返回的result是一个LinkedHashMap,可以保证分组的顺序和添加的顺序相同。
阅读全文