c语言sscanf函数的用法是什么
507
2023-01-26
java8实现List中对象属性的去重方法
java8的stream流能完美解对象集合去重问题.
List
UserCar userCar = new UserCar();
userCar.setId(1);
userCar.setCarNo("AA");
list1.add(userCar);
UserCar userCar1 = new UserCar();
userCar1.setId(2);
userCar1.setCarNo("AA");
list1.add(userCar1);
Person p1 = nhttp://ew Person(1, "11");
Person p2 = new Person(1, "22");
Person p3 = new Person(2, "11");
List
第一种: 不使用java8
private List
Set
personSet.addAll(userCars);
return new ArrayList
}
这也是大多数人第一想到的,借助 TreeSet 去重,其http://中 TreeSet 的其中一个构造函数接收一个排序的算法,同时这也会用到 TreeSet 的去重策略上.
public TreeSet(Comparator
this(new TreeMap<>(comparator));
}
第二种: 炫酷的java8写法
List
Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Person::getName))), ArrayList::new)
);
unique.forEach(p -> System.out.println(p));
第三种: 炫酷的java8写法
List
List
v -> {
boolean flag = !names.contains(v.getName());
names.add(v.getName());
return flag;
}
).collect(Collectors.toList());
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~