当前位置: 首页 > news >正文

哪个网站可以做微信引导图现在什么传奇最火电脑版

哪个网站可以做微信引导图,现在什么传奇最火电脑版,什么软件可以制作图片加文字,网站建设微信运营公司深入了解Java Stream中的distinct()方法#xff1a;按一个或多个指定对象字段进行去重 在Java编程中#xff0c;Stream API为我们提供了丰富的操作方法来处理集合数据。其中#xff0c;distinct()方法是一种常用的方法#xff0c;用于去除Stream中的重复元素。然而#x…深入了解Java Stream中的distinct()方法按一个或多个指定对象字段进行去重 在Java编程中Stream API为我们提供了丰富的操作方法来处理集合数据。其中distinct()方法是一种常用的方法用于去除Stream中的重复元素。然而有时我们可能需要按照对象的一个或多个字段进行去重。本文将探讨如何利用Java Stream中的distinct()方法按照指定对象字段进行去重并介绍其他几种实现去重的方法。 1. Java Stream中的distinct()方法 distinct()方法是Stream API中的一个中间操作它返回一个去除了重复元素的新Stream。默认情况下它使用对象的equals()方法来判断元素是否相等。但是如果我们需要按照对象的特定字段来进行去重就需要结合使用distinct()方法和自定义比较器。 1.1. 按照单个字段进行去重 假设我们有一个Person类其中包含id和name两个字段。我们想要按照id字段对Person对象进行去重可以按照以下步骤操作 ListPerson people // 获取Person对象的集合ListPerson uniquePeople people.stream().filter(distinctByKey(Person::getId)).collect(Collectors.toList());// 自定义去重比较器 public static T PredicateT distinctByKey(Function? super T, Object keyExtractor) {MapObject, Boolean seen new ConcurrentHashMap();return t - seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) null; }1.2. 按照多个字段进行去重 如果我们需要按照多个字段进行去重可以稍作修改 ListPerson uniquePeople people.stream().filter(distinctByKeys(p - Arrays.asList(p.getId(), p.getName()))).collect(Collectors.toList());// 自定义多字段去重比较器 public static T PredicateT distinctByKeys(Function? super T, ? extends List? keyExtractors) {MapList?, Boolean seen new ConcurrentHashMap();return t - {List? keys keyExtractors.apply(t);return seen.putIfAbsent(keys, Boolean.TRUE) null;}; }2. 其他去重方法 除了使用Java Stream中的distinct()方法结合自定义比较器外还有其他几种去重方法 2.1. 利用集合类实现去重 利用HashSet或TreeSet来存储不重复的元素。 ListPerson people // 获取Person对象的集合SetPerson uniquePeople new HashSet(people); // 或者 TreeSetPerson(Comparator.comparing(Person::getId)) ListPerson uniqueList new ArrayList(uniquePeople);2.2. 使用第三方库进行去重 使用Google Guava库的Streams类进行去重操作。 import com.google.common.collect.Streams;ListPerson people // 获取Person对象的集合ListPerson uniquePeople Streams.stream(people).distinct().collect(Collectors.toList());2.3. 利用Java 8的新特性进行去重 利用Collectors.toMap()方法结合mergeFunction来实现去重。 ListPerson people // 获取Person对象的集合ListPerson uniquePeople new ArrayList(people.stream().collect(Collectors.toMap(Person::getId, Function.identity(), (existing, replacement) - existing)).values());3. 总结 通过本文的介绍我们深入了解了Java Stream中的distinct()方法并探讨了如何按照一个或多个指定对象字段进行去重。除了distinct()方法外我们还介绍了利用集合类、第三方库以及Java 8的新特性来实现去重的方法。每种方法都有其适用的场景和优缺点开发者可以根据具体情况选择合适的方法来进行去重。希望本文能够帮助你更好地理解和应用Java中的去重技术。
http://www.zqtcl.cn/news/161240/

相关文章:

  • 十堰网站开发洛阳网站开发公司
  • 做盗版网站坂田网站建设推广公司
  • 怎么用织梦修改建设一个新的网站小程序无代码开发平台
  • 网站建设询价外贸网页制作公司哪家好
  • 网页设计与网站建设报告ckplayer整合WordPress
  • 厦门APP开发网站开发公司百度热搜榜单
  • 网站排名英文怎么说网页编辑器在线使用
  • 湖南做防水堵漏工程商网站网站建设编程软件
  • 网站编辑专题怎么做徐州建筑工程招投标网站
  • 英文网站建设合同招考网站开发
  • 网上商城网站 找什么做dede本地环境搭建网站
  • 网站开发遇到的问题及解决方法深圳市做网站有哪些公司
  • 自媒体网站 程序18款免费软件app下载推荐
  • 产业园门户网站建设方案瑞昌网络推广
  • 长春市网站建设动漫wordpress主题下载地址
  • 如何做专业的模板下载网站wordpress 多网址
  • 做qq头像的网站wordpress 安装 服务器 系统
  • 怎样查网站的注册地点百度小说排行榜2021
  • 网站建设中中文模板wordpress siren
  • 设计本官方网站电脑版附近室内装修公司电话
  • 服务外包网站wordpress 禁止转载
  • l礼品文化网站建设不常见的网络营销方式
  • 做网站侵权腾讯企点打不开
  • iis 网站拒绝显示此网页上海网站建设类岗位
  • 营销型网站建设推荐google关键词
  • 网站上线是前端还是后端来做如何做垂直门户网站
  • 网站建设与管理2018海尔集团网站 建设目的
  • ps做网站大小wordpress调用 php文件
  • php网站忘记后台密码江苏网页制作报价
  • 网站模板 哪个好完备的常州网站推广