0
我有一个用户列表。Java:如何使用Stream API按条件对实体进行分组?
class User {
String name;
}
而且我需要按名称对用户进行分组。
List<Set<User>> groupedBy;
的分组条件是名称相似,它的一些比较
Comparator<User> p = new Comparator<User>() {
// some comparison logic
};
通过类似的名字,我组的用户如何使用Java 8流?
我试着使用partitioning
,但它有一个不同的API比我更需要。
Map<Boolean, List<User>> collected = users.stream().collect(Collectors.partitioningBy(new Predicate<User>() {
@Override
public boolean test(User user) {
// ...
}
}, Collectors.toList()));
你基于谓词试图'group'?听起来像'分区'。 – Eugene
对不起,基于名称比较。 – Finkelson
如果没有流API,你会怎么做?考虑到像莱文斯坦距离这样的事情,它不会导致一个明确分离的集合,因为它不是传递的。 –