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

it2022-05-05  165

 

 

  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

相关资源:java list根据对象的某个属性的值去重

最新回复(0)