两个List合并、去重、排序

news2025/1/17 6:19:01

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

两个List合并、去重、排序

  • 1. 创建两个List
  • 2. 合并
  • 3. 去重
  • 4. 排序
  • 5. 去重排序后转为List
  • 6. 完整代码


1. 创建两个List

创建list1

        List l1 = new ArrayList();
        l1.add(10);
        l1.add(1);
        l1.add(1000);
        l1.add(100);

创建list2

       List l2 = new ArrayList();
        l2.add(1);
        l2.add(111);
        l2.add(999);
        l2.add(222);
        l2.add(100);

创建list

        List list = new ArrayList();

2. 合并

使用List自带的addAll()函数将两个List合并

list.addAll(list1);
list.addAll(list2);

去重和排序是通过java8新特性,流Stream()来处理

3. 去重

list.Stream().distinct();

4. 排序

list.Stream().sorted()

以上的去重排序后得到的是一个Stream流,而非List
想要得到List需要转换一下

5. 去重排序后转为List

list = Arrays.asList(list.stream().distinct().sorted().toArray());

6. 完整代码

package com.data.test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * @ClassDescription:
 * @Author:李白
 * @Date:2023/8/16 9:36
 */
public class DistinctTest {
    public static void main(String[] args) {
        List l1 = new ArrayList();
        l1.add(10);
        l1.add(1);
        l1.add(1000);
        l1.add(100);
        List l2 = new ArrayList();
        l2.add(1);
        l2.add(111);
        l2.add(999);
        l2.add(222);
        l2.add(100);
        System.out.println("l1:"+l1);
        System.out.println("l2:"+l2);
        List list = new ArrayList();
        list.addAll(l1);
        list.addAll(l2);
        System.out.println("合并后的list: "+list);
        list = Arrays.asList(list.stream().distinct().sorted().toArray());
        System.out.println("去重排序后的list: "+list);
    }
}

运行打印后的结果如下:
在这里插入图片描述
如图所示:
合并后的list是将l1和l2合并的结果
去重排序后的list是将1和100去重后排序的结果


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/896452.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

打通应用“壁垒”,数据分类分级结果与安全策略自动匹配

《网络安全法》、《数据安全法》等法律法规,以及各行业各领域与数据安全相关的标准规范,几乎都涉及对数据进行分类分级保护的要求。数据安全始于分类分级,已成为毫无疑问的行业共识。 但现实中不少用户却止步在分类分级工作,“如…

linux虚拟机中各服务端口及配置文件路径

查询端口状况命令: netstat -an| grep 端口号 查询服务状态(服务是否开启)命令:systemctl status 服务名 开启服务命令:systemctl start 服务名 21端口:FTP 文件传输服务 22端口:SSH协议、…

无涯教程-Perl - wait函数

描述 该函数等待子进程终止,返回已故进程的进程ID。进程的退出状态包含在$?中。 语法 以下是此函数的简单语法- wait返回值 如果没有子进程,则此函数返回-1,否则将显示已故进程的进程ID Perl 中的 wait函数 - 无涯教程网无涯教程网提供描述该函数等待子进程终止,返回已故…

怎么把pdf压缩到5m以内?压缩办法非常多

怎么把pdf压缩到5m以内?PDF文件是我们办公过程中较为常用的文件格式,PDF文件所包含的内容通常较多,比如文本、图像以及音视频等等。这样的话,PDF文件占用内存也较大。如果需要对PDF文件进行使用、传输、分享等的话,可能…

中路对线发现正在攻防演练中投毒的红队大佬

背景 2023年8月14日晚,墨菲安全实验室发布《首起针对国内金融企业的开源组件投毒攻击事件》NPM投毒事件分析文章,紧接着我们在8月17日监控到一个新的npm投毒组件包 hreport-preview,该投毒组件用来下载木马文件的域名地址竟然是 img.murphys…

【TypeScript】任意类型

前置准备 在 powershell 安装 ts-node 包,可以先借助 xmzs 包切换淘宝镜像,加快安装速度。 在 vscode 终端执行 npm init -y 生成 package.json 文件 然后在 vscode 终端执行 npm i types/node -D 最后就可以在 vscode 终端执行ts-node,直接…

Typora 相对路径保存图片以及 Gitee 无法显示图片

目录 Typora 相对路径保存图片 Gitee 无法显示图片 Typora 相对路径保存图片 Step1:修改 Typora 的偏好设置 自动在当前目录创建名为 "./${filename}.assets" 的文件夹粘贴图片到 md 中时,图片会自动另存到 "./${filename}.assets&qu…

macOS Ventura 13.5.1(22G90)发布(附黑/白苹果系统镜像地址)

系统镜像下载:百度:黑果魏叔 系统介绍 黑果魏叔 8 月 18 日消息,苹果今日向 Mac 电脑用户推送了 macOS 13.5.1 更新(内部版本号:22G90),本次更新距离上次发布隔了 24 天。 本次更新重点修复了…

ip2region(1):java通过Ip2region实现IP定位

1 Ip2region简介 Ip2region是一个开源工具库,是一种用于IP地址定位的工具。 它是基于B树数据结构的数据库,可用于将IP地址转换为国家、省、市、区县等信息。 使用Ip2region工具,您可以轻松地查找某个IP地址所在的区域信息,从而帮助您进行定位…

页面加载慢问题排查结论

遇到一个很奇怪的现象,已知A和B两个页面,都有调用同一个弹框,但是A页面很快,一切正常,B页面需要加载很久,就很奇怪。 后面又发现,B页面里面不同tab C和D,调用上面的弹框&#xff0c…

专业高度契合|中国文学对接伦敦大学亚非学院访学申请成功

G老师的研究方向以中国文学为主,重点是现当代文学,优先申请英国高校访学,而英国高校从事该领域研究的学者屈指可数,经过努力,我们先后得到伦敦国王学院、斯特林大学及伦敦大学亚非学院的接受意向,用伦敦国王…

【目标检测中对IoU的改进】GIoU,DIoU,CIoU的详细介绍

文章目录 1、IoU2、GIoU(Generalized Intersection over Union)3、DIoU4、CIoU 1、IoU IoU为交并比,即对于pred和Ground Truth:交集/并集 1、IoU可以作为评价指标使用,也可以用于构建IoU loss 1 - IoU 缺点: 2、对于pred和GT相…

学渣的愤怒!自考本科能不能不考英语和数学?

英语和高数哪个更难? 这是自考生们最头大的两个科目。 自考高数有多难? 高数主要有微积分、线性代数和概率论三个部分。 其中微积分是基础、也是重要的一部分,不仅涉及到很多抽象概念和符号运算,还需要具备良好的计算能力和逻…

Nginx的介绍

本资料转载于传智教育-解锁你的IT职业薪未来,仅用于学习和讨论,如有侵权请联系 视频地址:04-Nginx的优点_哔哩哔哩_bilibili 资源文档:链接:https://pan.baidu.com/s/1RlFl92FdxRUqc858JSxPSQ 提取码:12…

Air780EG —— 合宙4G定位解决方案

定位模式: 外部单片机控制模式(常见于AT固件客户): 开机 -> 搜星 -> 定位成功 -> 上报 -> 关机 780E自行控制模式(常见于二次开发客户,AT用户也可以使用): 开机 -> 搜星 -> 定位成功 -> 模块休眠,关闭GP…

【LVS】3、LVS+Keepalived群集

为什么用它,为了做高可用 服务功能 1.故障自动切换 2.健康检查 3.节点服务器高可用-HA Keepalived的三个模块: core:Keepalived的核心,负责主进程的启动、维护;调用全局配置文件进行加载和解析 vrrp:实…

【时间序列】WWW 2023时间序列相关论文汇总

WWW 会议为交叉,新兴,综合领域的顶级会议,属于CCF A类,几乎计算机的任何一个领域都可以投WWW,是计算机交叉学科领域最具影响力的会议之一。WWW 每年的录用率非常低,今年共录用了365篇论文,录用率…

一文读懂辣“度”火锅--德庄食品的数字化转型

“红汤锅里捞世界,九宫格里分乾坤。”在四川和重庆,火锅算是城市的招牌,这些地区火锅类快消产品也大为盛行。沸腾的火锅,也带动了火锅底料市场的增长,尤其是在“懒”“宅”经济的催生下,火锅底料更是备受年…

使用 Python 获取 Redis 数据库中的所有键

如果你了解 JSON,就会熟悉 Redis 设计系统。 它使用键值结构和分布式内存方法来实现弹性数据库。 哈希、列表、集合、排序集合、字符串、JSON 和流是 Redis 支持的众多数据结构之一。 这个开源数据库支持不同的语言,包括 Python,如果您正在使…

常见前端基础面试题(HTML,CSS,JS)(三)

JS 中如何进行数据类型的转换? 类型转换可以分为两种,隐性转换和显性转换 显性转换 主要分为三大类:数值类型、字符串类型、布尔类型 三大类的原始类型值的转换规则我就不一一列举了 数值类型(引用类型转换) Numbe…