利用java8的新特性stream实现list数据去重

2020-01-17  本文已影响0人  小和尚哦

一、根据列表中的对象去重

List<String> list=new ArrayList<>();

list.add("a");

list.add("b");

list.add("b");

//核心方法distinct()

list.stream().distinct().forEach(item ->System.out.println(item));

输出:"a"

           "b"

二、根据列表中的对象的元素去重

List<ShoppingCartStore> cartStoreList =new ArrayList<>();

cartStoreList.add(new ShoppingCartStore("a","好菜"));

cartStoreList.add(new ShoppingCartStore("b","坏菜"));

cartStoreList.add(new ShoppingCartStore("b","好坏菜"));

cartStoreList.stream().distinct().forEach(scStore ->{

System.out.println(scStore.getStoreId())

});

其实和对象去重一样,只是要重写一下hashCode()和equals()方法。见下图

上一篇下一篇

猜你喜欢

热点阅读