美文网首页
利用java8的新特性stream实现list数据去重

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

作者: 小和尚哦 | 来源:发表于2020-01-17 16:31 被阅读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()方法。见下图

相关文章

网友评论

      本文标题:利用java8的新特性stream实现list数据去重

      本文链接:https://www.haomeiwen.com/subject/heiczctx.html