美文网首页
利用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