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

List去重有几种方式

目录

1、for循环添加去重

2、for 双循环去重

3、for 双循环重复坐标去重

4、Set去重

5、stream流去重

1、for循环添加去重
List<String> oldList = new ArrayList<>();oldList.add("张三");oldList.add("张三");oldList.add("李四");oldList.add("王五");oldList.add("赵六");List<Object> newList = Lists.newArrayList();for (String name : oldList) {if (!newList.contains(name)){newList.add(name);}}System.out.println("原本的集合原素"+oldList);System.out.println("去重后的集合"+newList);// An highlighted block
var foo = 'bar';

打印结果如下:

在这里插入图片描述

2、for 双循环去重

@Testpublic void test77() {List<String> oldList = new ArrayList<>();oldList.add("张三");oldList.add("张三");oldList.add("李四");oldList.add("王五");oldList.add("赵六");for (int i = 0; i < oldList.size(); i++) {for (int j = oldList.size() - 1; j > i; j--) {if (oldList.get(j).equals(oldList.get(i))) {oldList.remove(j);}}}System.out.println("原本的集合元素:" + oldList);}}

打印结果如下:

在这里插入图片描述

3、for 双循环重复坐标去重

@Testvoid contextLoads4() {List<String> oldList = new ArrayList<>();oldList.add("张三");oldList.add("张三");oldList.add("李四");oldList.add("王五");oldList.add("赵六");List<String> newList = Lists.newArrayList();newList.addAll(oldList);for (String name : newList) {if (oldList.indexOf(name) != oldList.lastIndexOf(name)) {oldList.remove(oldList.lastIndexOf(name));}}System.out.println("原本的集合原素"+oldList);}// An highlighted block
var foo = 'bar';

打印结果如下:

在这里插入图片描述

4、Set去重

@Testvoid contextLoads5() {List<String> oldList = new ArrayList<>();oldList.add("张三");oldList.add("张三");oldList.add("李四");oldList.add("王五");oldList.add("赵六");List<String> newList = Lists.newArrayList(new HashSet(oldList));System.out.println("原本的集合原素"+newList);}// An highlighted block
var foo = 'bar';

打印结果如下:

在这里插入图片描述

5、stream流去重

@Testvoid contextLoads5() {List<String> oldList = new ArrayList<>();oldList.add("张三");oldList.add("张三");oldList.add("李四");oldList.add("王五");oldList.add("赵六");List<String> collect = oldList.stream().distinct().collect(Collectors.toList());System.out.println("原本的集合原素"+collect);}// An highlighted block
var foo = 'bar';

打印结果如下:
在这里插入图片描述

相关文章:

List去重有几种方式

目录 1、for循环添加去重 2、for 双循环去重 3、for 双循环重复坐标去重 4、Set去重 5、stream流去重 1、for循环添加去重 List<String> oldList new ArrayList<>();oldList.add("张三");oldList.add("张三");oldList.add("李四&q…...

使用C#+NPOI进行Excel处理,实现多个Excel文件的求和统计

一个简易的控制台程序&#xff0c;使用C#NPOI进行Excel处理&#xff0c;实现多个Excel文件的求和统计。 前提&#xff1a; 待统计的Excel格式相同统计结果表与待统计的表格格式一致 引入如下四个动态库&#xff1a; 1. NPOI.dll 2. NPOI.OOXML.dll 3. NPOI.OpenXml4Net.dll …...

华清远见嵌入式学习——驱动开发——day9

目录 作业要求&#xff1a; 作业答案&#xff1a; 代码效果&#xff1a; ​编辑 Platform总线驱动代码&#xff1a; 应用程序代码&#xff1a; 设备树配置&#xff1a; 作业要求&#xff1a; 通过platform总线驱动框架编写LED灯的驱动&#xff0c;编写应用程序测试&…...

formality:set_constant应用

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 往期文章链接: formality:形式验证流程 scan mode func的功能检查需要把scan mode设置成0。...

sqllabs的order by注入

当我们在打开sqli-labs的46关发现其实是个表格&#xff0c;当测试sort等于123时&#xff0c;会根据列数的不同来进行排序 我们需要利用这个点来判断是否存在注入漏洞&#xff0c;通过加入asc 和desc判断页面有注入点 1、基于使用if语句盲注 如果我们配合if函数&#xff0c;表达…...

《The Art of InnoDB》第二部分|第4章:深入结构-磁盘结构-redo log

4.3 redo log 目录 4.3 redo log 4.3.1 redo log 介绍 4.3.2 redo log 的作用 4.3.3 redo log file 结构 4.3.4 redo log 提交逻辑 4.3.5 redo log 持久化逻辑 4.3.6 redo log 检查点 4.3.7 小结...

大模型安全相关论文

LLM对于安全的优势 “Generating secure hardware using chatgpt resistant to cwes,” Cryptology ePrint Archive, Paper 2023/212, 2023评估了ChatGPT平台上代码生成过程的安全性&#xff0c;特别是在硬件领域。探索了设计者可以采用的策略&#xff0c;使ChatGPT能够提供安…...

回归预测 | Matlab实现PSO-BiLSTM-Attention粒子群算法优化双向长短期记忆神经网络融合注意力机制多变量回归预测

回归预测 | Matlab实现PSO-BiLSTM-Attention粒子群算法优化双向长短期记忆神经网络融合注意力机制多变量回归预测 目录 回归预测 | Matlab实现PSO-BiLSTM-Attention粒子群算法优化双向长短期记忆神经网络融合注意力机制多变量回归预测预测效果基本描述程序设计参考资料 预测效果…...

[算法沉淀记录] 排序算法 —— 堆排序

排序算法 —— 堆排序 算法基础介绍 堆排序&#xff08;Heap Sort&#xff09;是一种基于比较的排序算法&#xff0c;它利用堆这种数据结构来实现排序。堆是一种特殊的完全二叉树&#xff0c;其中每个节点的值都必须大于或等于&#xff08;最大堆&#xff09;或小于或等于&am…...

C++ //练习 9.33 在本节最后一个例子中,如果不将insert的结果赋予begin,将会发生什么?编写程序,去掉此赋值语句,验证你的答案。

C Primer&#xff08;第5版&#xff09; 练习 9.33 练习 9.33 在本节最后一个例子中&#xff0c;如果不将insert的结果赋予begin&#xff0c;将会发生什么&#xff1f;编写程序&#xff0c;去掉此赋值语句&#xff0c;验证你的答案。 环境&#xff1a;Linux Ubuntu&#xff0…...

[corCTF 2022] CoRJail: From Null Byte Overflow To Docker Escape

前言 题目来源&#xff1a;竞赛官网 – 建议这里下载&#xff0c;文件系统/带符号的 vmlinux 给了 参考 [corCTF 2022] CoRJail: From Null Byte Overflow To Docker Escape Exploiting poll_list Objects In The Linux Kernel – 原作者文章&#xff0c;poll_list 利用方式…...

thinkphp6定时任务

这里主要是教没有用过定时任务没有头绪的朋友, 定时任务可以处理一些定时备份数据库等一系列操作, 具体根据自己的业务逻辑进行更改 直接上代码 首先, 是先在 tp 中的 command 方法中声明, 如果没有就自己新建一个, 代码如下 然后就是写你的业务逻辑 执行定时任务 方法写好了…...

支持国密ssl的curl编译和测试验证(上)

目录 1. 编译铜锁ssl库2. 编译nghttp2库3. 编译curl4. 验证4.1 查看版本信息4.2 验证国密ssl握手功能4.3 验证http2协议功能 以下以ubuntu 22.04环境为例进行编译 本次编译采用铜锁sslnghttp2curl&#xff0c;使得编译出来的curl可以支持国密ssl&#xff0c;并且可以支持http2…...

包装类详解

概述 Java提供了两个类型系统&#xff0c;基本类型与引用类型&#xff0c;使用基本类型在于效率&#xff0c;然而很多情况&#xff0c;会创建对象使用&#xff0c;因为对象可以做更多的功能&#xff0c;如果想要我们的基本类型像对象一样操作&#xff0c;就可以使用基本类型对…...

vue3与vue2的区别

Vue 3和Vue 2在以下几个方面有一些区别&#xff1a; 性能提升&#xff1a;Vue 3对渲染性能和内存占用进行了优化&#xff0c;使用了Proxy代理对象&#xff0c;比Vue 2的Object.defineProperty更高效。此外&#xff0c;Vue 3还引入了静态树提升&#xff08;Static Tree Hoisting…...

SSL OV证书和DV、EV证书的区别

在网站搭建的过程中和小程序开发过程中&#xff0c;很难免会有需要用到SSL证书的地方&#xff0c;但是目前数字证书种类繁多&#xff0c;该选择什么类型的证书成为了一个令人纠结的问题。 目前在市场上较为常见的证书分为三种&#xff1a;DV域名验证型证书&#xff1b;OV组织验…...

一款.NET下 WPF UI框架介绍

WPF开源的UI框架有很多,如HandyControl、MahApps.Metro、Xceed Extended WPF Toolkit™、Modern UI for WPF (MUI)、Layui-WPF、MaterialDesignInXamlToolkit、等等,今天小编带大家认识一款比较常用的kaiyuanUI---WPF UI,这款ui框架美观现代化,用起来也超级方便, 界面展示…...

东莞IBM服务器维修之IBM x3630 M4阵列恢复

记录东莞某抖音电商公司送修一台IBM SYSTEM X3630 M4文档服务器RAID6故障导致数据丢失的恢复案例 时间&#xff1a;2024年02月20日&#xff0c; 服务器品牌&#xff1a;IBM System x3630 M4&#xff0c;阵列卡用的是DELL PERC H730P 服务器用途和用户位置&#xff1a;某抖音电…...

Flask基础学习4

19-【实战】问答平台项目结构搭建_剪_哔哩哔哩_bilibili 参考如上大佬的视频教程&#xff0c;本博客仅当学习笔记&#xff0c;侵权请联系删除 问答发布的web前端页面实现 register.html {% extends base.html %}{% block head %}<link rel"stylesheet" href&q…...

mac安装zookeeper

下载地址&#xff1a; http://archive.apache.org/dist/zookeeper/ 注意&#xff1a;由于Zookeeper从3.5.5版本开始&#xff0c;带有bin名称的包才是我们想要的下载可以直接使用的里面有编译后的二进制的包&#xff0c;而之前的普通的tar.gz的包里面是只是源码的包无法直接使…...

StabilityGuide故障排查终极指南:从OutOfMemoryError到StackOverFlowError的完整解决方案

StabilityGuide故障排查终极指南&#xff1a;从OutOfMemoryError到StackOverFlowError的完整解决方案 【免费下载链接】StabilityGuide 项目地址: https://gitcode.com/gh_mirrors/st/StabilityGuide StabilityGuide是阿里巴巴开源的系统稳定性知识库&#xff0c;专注于…...

Comsol 锂枝晶模型 “五合一”:探索枝晶生长的多元奥秘

comsol 锂枝晶模型 五合一 单枝晶定向生长、多枝晶定向生长、多枝晶 随机生长只 无序生长随机形核以及雪花枝晶&#xff0c;包含相场、浓度场和电场三种物理场在锂电领域&#xff0c;锂枝晶的生长一直是研究的重点&#xff0c;因为它严重影响电池的安全性与性能。今天咱就来唠唠…...

SenseVoice Small企业级应用:法务合同语音审查+关键条款提取实战

SenseVoice Small企业级应用&#xff1a;法务合同语音审查关键条款提取实战 1. 项目背景与需求场景 在现代企业法务工作中&#xff0c;合同审查是一项频繁且重要的工作。传统的合同审查流程往往需要法务人员逐字阅读大量合同文本&#xff0c;耗时耗力且容易遗漏关键条款。特别…...

Transformer模型中的Self-Attention机制:从理论到代码实现(PyTorch版)

Transformer模型中的Self-Attention机制&#xff1a;从理论到代码实现&#xff08;PyTorch版&#xff09; 在自然语言处理领域&#xff0c;Transformer架构彻底改变了序列建模的范式。2017年那篇开创性论文提出的Self-Attention机制&#xff0c;不仅解决了传统RNN的长期依赖问题…...

Verilog握手信号实战:如何用valid/ready搭建高效数据流水线(附完整代码)

Verilog握手信号实战&#xff1a;如何用valid/ready搭建高效数据流水线&#xff08;附完整代码&#xff09; 在FPGA开发中&#xff0c;数据流水线是实现高性能计算的关键架构。但当我们面对不同处理速度的模块时&#xff0c;如何确保数据既不丢失又不阻塞&#xff1f;valid/rea…...

Flow Matching 流匹配策略:从理论到机器人实时控制

目录 1.1.1.1 流匹配的基本定义 1.1.1.2 连续性方程与概率路径演化 1.1.1.3 流匹配损失函数的标准形式 1.2.1.1 条件概率路径的构造原理 1.2.1.2 条件向量场的确定性映射 1.2.1.3 条件流匹配损失的等价性证明 1.2.1.4 线性插值路径的实例化 2.1.1.1 Kantorovich最优传输…...

大模型推理中Prefill与Decode、KV Cache三者说明

大语言模型推理基于自回归生成范式&#xff0c;严格分为 Prefill&#xff08;预填充&#xff09; 与 Decode&#xff08;解码&#xff09; 两个阶段。二者在计算形态、访存特征、硬件瓶颈上存在本质差异。KV Cache&#xff08;键值缓存&#xff09; 是实现两阶段衔接、消除重复…...

【系统分析师_知识点整理】 8.项目管理

核心考向&#xff1a;进度管理&#xff08;计算 选择最高频&#xff09;&#xff1a;关键路径、ES/EF/LS/LF、总浮动时间、自由浮动时间、PDM 四种依赖、进度偏差分析&#xff1b;范围管理&#xff1a;WBS、范围确认、范围控制、范围边界定义&#xff1b;成本管理&#xff1a;…...

FMQL开发板实战:从Vivado到IAR的BOOT.bin生成全流程(附避坑指南)

FMQL开发板实战&#xff1a;从Vivado到IAR的BOOT.bin生成全流程&#xff08;附避坑指南&#xff09; 在嵌入式开发领域&#xff0c;复旦微电子FMQL系列开发板因其高性能和灵活性备受开发者青睐。然而&#xff0c;对于刚接触该平台的工程师来说&#xff0c;从零开始生成可启动的…...

STK 实战:多类型传感器(Sensor)协同探测与可见性分析

1. STK与多传感器协同探测基础 STK&#xff08;Systems Tool Kit&#xff09;是航天领域广泛使用的仿真分析软件&#xff0c;它能够对复杂系统中的传感器进行高精度建模。在实际应用中&#xff0c;单个传感器往往难以满足全方位监测需求&#xff0c;这时就需要多传感器协同工作…...