最近项目中用到了合并去重的相关需求,于是这边总结了不同的去重方式

这边是深海封装的去重合并方法;

 /**作者:赵星海*时间:2020/6/15 17:46*用途:多序列合并去重*/public ArrayList requestEditText(boolean isOrderly, ArrayList<Integer>... args) {if (args == null || args.length == 0) return new ArrayList<>();HashSet<Integer> hashSet = new HashSet<>();if (isOrderly) {ArrayList<Integer> returnList = new ArrayList<>();// 有序for (int j = 0; j < args.length; j++) {for (int z = 0; z < args[j].size(); z++) {if (hashSet.add(args[j].get(z)))returnList.add(args[j].get(z));}}return returnList;} else {// 无序for (int j = 0; j < args.length; j++) {for (int z = 0; z < args[j].size(); z++) {hashSet.add(args[j].get(z));}}return new ArrayList<>(hashSet);}}

接下来咱们测试一下和Java8后的lambda表达式 去重合并 的 耗时对比

测试代码:

/**作者:赵星海*时间:2020/6/17 17:49*用途: 关于多序列合并去重的耗时测试*/
public static void main(String[] args) {ArrayList<Integer> list1 = new ArrayList<>();ArrayList<Integer> list2 = new ArrayList<>();ArrayList<Integer> list3 = new ArrayList<>();for (int i = 0; i < 10000; i++) {list1.add(1);list2.add(2);list3.add(3);}long time = new Date().getTime();List<Integer> list = new ArrayList<>();list.addAll(list1);list.addAll(list2);list.addAll(list3);List<Integer> collect = list.stream().distinct().collect(Collectors.toList());long time1 = new Date().getTime();System.out.println(time1 - time + "      → lambda去重合并时间");ArrayList arrayList = requestEditText(true, list1, list2, list3);long time2 = new Date().getTime();System.out.println(time2 - time1 + "     → 有序用时");long time3 = new Date().getTime();ArrayList arrayList1 = requestEditText(false, list1, list2, list3);System.out.println(time3 - time2 + "     → 无序用时");System.out.println("------lambda结果-------");collect.forEach(x -> System.out.println(x + ""));System.out.println("------有序结果-------");arrayList.forEach(System.out::println);System.out.println("------无序结果-------");arrayList1.forEach(System.out::println);}

耗时对比结果:

102      → lambda去重合并时间
5     → 有序用时
0     → 无序用时
------lambda结果-------
1
2
3
------有序结果-------
1
2
3
------无序结果-------
1
2
3

算法探索_多序列合并去重相关推荐

  1. 算法探索_盛最多水的容器

    问题描述: 给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0).找出其 ...

  2. 两个listmap合并去重_我是如何用单机实现亿级规模题库去重的?

    题外话:欢迎将公众号设置为星标,技术文章第一时间看到.我们将一如既往精选技术好文,提供有价值的阅读.如有读者想要投稿,可以在公众号任意文章下留言,技术博主奖励丰厚. 作者:haolujun cnblo ...

  3. C语言序列是否有序、序列中删除指定数字、序列中整数去重、有序序列合并问题

    近期在牛客上面刷题遇到了上述问题,对于刚接触C的我还是有些头疼,所以写这篇文章整理一下思路. 文章推荐人群:刚接触C的广大同志们 我将以 题+代码+简易的思路 的方式进行,提前感谢老铁们的阅览! 序列 ...

  4. 两个listmap合并去重_单机亿级规模题库去重,如果是你会怎么做?

    作者:haolujun原文:https://www.cnblogs.com/haolujun/p/8399275.html 背景 最近工作中遇到了一个问题:如何对大规模题库去重?公司经过多年的积累,有 ...

  5. dbscan算法_DBSCAN聚类算法探索

    作者:单华 DBSCAN是非监督学习中密度学习算法里的佼佼者.本文对DBSCAN做了简单的探索,全文无数学公式,共2800余字. 在ARGO之前提到的聚类与K-Means一文中,提到了密度聚类方法DB ...

  6. 去重 指定区域数据_大数据分析常用去重算法分析

    去重分析在企业日常分析中的使用频率非常高,如何在大数据场景下快速地进行去重分析一直是一大难点.在近期的 Apache Kylin 沙龙上, Kyligence 大数据研发工程师陶加涛为大家揭开了大数据 ...

  7. 强化学习算法在京东广告序列推荐场景的应用实践

    猜你喜欢 0.淘宝首页猜你喜欢推荐建模实践 1.[免费下载]2022年3月份热门报告 2.[实践]小红书推荐中台实践 3.微信视频号实时推荐技术架构分享 4.对比学习在宽狩推荐系统中的应用实践 5.微 ...

  8. 【推荐实践】强化学习算法在京东广告序列推荐场景的应用

    猜你喜欢 0.搜狗信息流推荐系统架构及推荐算法实践1.如何搭建一套个性化推荐系统?2.京东推荐算法精排技术实践3.[万字长文]某视频APP推荐算法及策略详解4.微博推荐算法实践与机器学习平台演进5.腾 ...

  9. 广义多目标算法探索实践

    分享嘉宾:周建斌 58同城 算法高级架构师 编辑整理:吴雪松 小米 出品平台:DataFunTalk 导读:58部落是面向58同城同镇用户的内容社区,主要产品形态为PGC.UGC的信息流,样式丰富.基 ...

最新文章

  1. WinObjC?这是什么鬼?
  2. 在 OpenGL ES 2.0 上实现视差贴图(Parallax Mapping)
  3. 图像处理--角点检测与匹配
  4. SpringBoot Jar包外部application文件
  5. 画圆角 - HTML5 Canvas 作图
  6. php学习之路:WSDL详细解释(两)
  7. 4.微服务:从设计到部署 --- 服务发现
  8. 罗胖又有“惊人之语”:内容收费的窗口期正来到
  9. 解决“HTTP Error 401 – Unauthorized”
  10. IDEA主题SublimeTest3修改
  11. journalctl命令使用
  12. Word中中英文目录对齐设置问题
  13. 计算机登录账户删除著名恢复,win10系统删除计算机无用账户的恢复步骤
  14. 2020仙气十足的女生个性网名
  15. 好评不断的文化纪录片《中国》,背后的“剪刀手”竟是它?
  16. Chaya虚拟机学习 —— 启用Docker遇到的Bug
  17. java语言就业方向_java就业有哪些方向
  18. 硅基压力传感器—MEMS
  19. ubuntu插入U盘,无法识别
  20. matlab车轮滚动动画,Fireworks动画教程:简单制作轮子滚动动画效果

热门文章

  1. python中的各种符号(欢迎补充)
  2. 计算机毕业设计Java国漫论坛网站(源码+系统+mysql数据库+Lw文档)
  3. python将数据做直方图_用python 制作直方图
  4. 电脑快捷操作方式大全
  5. opencv生成3d模型_OpenCV4.2使用viz模块显示3D图像
  6. Java基础之猫抓老鼠(继承)
  7. 【Zookeeper】ZK 是干什么的?
  8. 我的毕业四年总结及对未来的期许!
  9. 图解PKCS#1(合)
  10. 多模态情感分析论文解读——CTFN模型