JDK1.8 日常工作常用的方法

  • 作者: 凯哥Java(公众号:凯哥Java)
  • 工作小总结
  • 时间:2022-02-24 23:36
  • 2277人已阅读
简介 在工作中,我们经常会用jdk1.8的一些新特性。本文就介绍

🔔🔔🔔好消息!好消息!🔔🔔🔔

有需要的朋友👉:联系凯哥 微信号 kaigejava2022

JDK1.8stream根据对象的某一字段去重

List list = new ArrayList<>();
List listByName = list.stream().filter(distinctByName(item -> item.getName())).collect(Collectors.toList());
private static <T> Predicate<T> distinctByName(Function<? super T , Object> keyExtractor) {
    Map<Object , Boolean> seen = new ConcurrentHaskMap<>();
    return t -> seen.putIfAbsent(keyExtractor.apply(t)) , Boolean.True) == null;

}



TopTop