Java中使用lamda表达式实现根据对象属性去重

本文演示根据对象属性对List中的对象去重

新建实体类

public class Person {private String id;private String name;public Person(String id, String name) {this.id = id;this.name = name;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}

根据Person对象的id属性去重以及查看结果:

public class MainTest {public static void main(String[] args) {List list = new ArrayList();Person p1 = new Person("1", "123");Person p2 = new Person("2", "123");Person p3 = new Person("1", "456");list.add(p1);list.add(p2);list.add(p3);List result = list.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet            (Comparator.comparing(p -> p.getId()))),ArrayList::new));for (Person person : result) {System.out.println(person.getId() + " " + person.getName());}}}

输出结果:


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部