java8 把List<Object> 根据某字段去重

 

 

 
import java.util.ArrayList;
import java.util.List;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.subject.Subject;
import java.util.*;
import java.util.stream.Collectors;

import static java.util.Comparator.comparing;
import static java.util.Comparator.comparingLong;
import static java.util.stream.Collectors.collectingAndThen;
import static java.util.stream.Collectors.toCollection;




1 public static void main(String[] args) { 2 Milk milk0=new Milk(0,"123456"); 3 Milk milk1=new Milk(1,"123476"); 4 Milk milk2=new Milk(0,"876433"); 5 List<Milk> list=new ArrayList<>(); 6 list.add(milk0); 7 list.add(milk1); 8 list.add(milk2); 9 //去重 10 List<Milk> uniqueMilk = list.stream().collect( 11 collectingAndThen( 12 toCollection(() -> new TreeSet<>(comparing(n->n.getKey()))),ArrayList::new) 13 ); 14 15 for (Milk m:uniqueMilk) { 16 System.out.println(m.toString()); 17 } 18 19 }

 

public class Milk {
  private Integer key;
  private String value;

  public Milk(Integer key, String value) {
    this.key = key;
    this.value = value;
  }

  public Integer getKey() {
    return key;
  }

  public void setKey(Integer key) {
    this.key = key;
  }

  public String getValue() {
    return value;
  }

  public void setValue(String value) {
    this.value = value;
  }

  @Override
  public String toString() {
    return "Milk{" + "key=" + key + ", value='" + value + '\'' + '}';
  }
}

 

转载于:https://www.cnblogs.com/qq1141100952com/p/11197120.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值