java实现list去重(四种方法)

news2024/11/20 20:43:38

📑前言

本文主要是【Java】——java实现list去重(四种方法)的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:CSDN主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见

目录

    • 📑前言
    • 1.Set
    • 2.遍历list集合,将元素添加到另一个List集合中
    • 3.java8特性去重
    • 4.用TreeSet去重,默认数字升序排序,字母按照字典序
    • 测试
    • 输出结果
    • 📑文章末尾

1.Set

	//由于set的无序性,不会保持原来的顺序。
	public static List<String> solution1(List<String> list){
		Set<String> set = new HashSet<>(list);
		List<String> ans = new ArrayList<>(set);
		return ans;
	}

2.遍历list集合,将元素添加到另一个List集合中

	public static List<String> solution2(List<String> list){
		List<String> ans = new ArrayList<>();
		for(String i:list) {
			if (!ans.contains(i)) {
				ans.add(i);
			}else {
				continue;
			}
		}
		return ans;
	}

3.java8特性去重

	/**
	 * java8特性去重
	 */
	public static List<String> solution3(List<String> list){
		List<String> ans = list.stream().distinct().collect(Collectors.toList());
		return ans;
	}

4.用TreeSet去重,默认数字升序排序,字母按照字典序

	public static List<String> solution4(List<String> list){
		TreeSet<String> t = new TreeSet<>(list);
		List<String> ans = new ArrayList<>(t);
		return ans;
	}

测试

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		List<String> list = new ArrayList<>();
		list.add("apple");
		list.add("banana");
		list.add("apple");
		list.add("orange");
		list.add("banana");
		list.add("grape");
		list.add("grape");
		System.out.println(solution1(list));
		System.out.println(solution2(list));
		System.out.println(solution3(list));
		System.out.println(solution4(list));
	}

输出结果

📑文章末尾

在这里插入图片描述

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

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

相关文章

工厂如何确定设备故障的原因?

设备故障是制造业中常见的问题&#xff0c;对生产效率和运营成本产生重大影响。为了解决设备故障并提高生产效率&#xff0c;确定设备故障的准确原因至关重要。本文将介绍一些关键步骤和方法&#xff0c;帮助工厂确定设备故障的原因。 1. 收集和分析数据 要确定设备故障的原因…

互联网加竞赛 基于CNN实现谣言检测 - python 深度学习 机器学习

文章目录 1 前言1.1 背景 2 数据集3 实现过程4 CNN网络实现5 模型训练部分6 模型评估7 预测结果8 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于CNN实现谣言检测 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&am…

局域网共享打印机设置

一 配置共享打印机环境 方法1&#xff08;打印机连接的电有设置密码的设置&#xff09;&#xff1a; 1 需要在非直接连接打印机的pc上设置&#xff0c;登录账号&#xff0c;在控制面板中进入凭证管理&#xff0c;添加连接打印机主机的登录凭证 方法2&#xff08;免账号密码…

【InnoDB数据存储结构】第3章节:区、段、碎片区和表空间

文章目录结构 区、段、碎片区和表空间 什么是区&#xff1f;什么是段&#xff1f;什么是碎片区&#xff1f;什么是表空间&#xff1f; 在上文 InooDB 存储行格式一文中已经大致讲述过&#xff0c;再来回顾一下&#xff0c;直接上图&#xff1a; 名词解释如下&#xff1a; 行…

使用 Parallels Desktop 彻底改变您的开发和测试工作流程

Parallels Desktop 等虚拟机平台已经改变了应用程序开发和测试。 在当今快节奏的技术环境中&#xff0c;开发人员和测试人员现在能够在虚拟沙箱中进行操作&#xff0c;能够使用容器、虚拟机或 Kubernetes 集群快速创建和拆除类似虚拟生产的环境。 无论您是为 Windows 或 Mac …

(03)光刻——半导体电路的绘制

01、绘制精细电路的第一步 金属-氧化物半导体场效应晶体管(MOSFET)的革命,让我们可以在相同面积的晶圆上同时制造出更多晶体管。MOSFET体积越小,单个 MOSFET的耗电量就越少,还可以制造出更多的晶体管,让其发挥作用,可谓是一举多得。可见,制造更小的MOSFET成了关键因素…

第五周:深度学习知识点回顾

前言&#xff1a; 讲真&#xff0c;复习这块我是比较头大的&#xff0c;之前的线代、高数、概率论、西瓜书、樱花书、NG的系列课程、李宏毅李沐等等等等…那可是花了三年学习佳实践下来的&#xff0c;现在一想脑子里就剩下几个名词就觉得废柴一个了&#xff0c;朋友们有没有同感…

SDRAM小项目——SDRAM初始化配置

主要写了SDRAM的初始化模块&#xff0c;注重文档信息的查找&#xff0c;时序图的设计&#xff0c;SDRAM仿真插件的使用。 文档信息&#xff1a; 根据文档说明&#xff0c;SDRAM在使用之前必须先进行初始化 初始化之前要进行100us的延迟&#xff0c;在100us内除了INHIBIT和NOP命…

【数据分析实战】冰雪大世界携程景区评价信息情感分析采集词云

文章目录 引言数据采集数据集展示数据预处理 数据分析评价总体情况分析本人浅薄分析 各游客人群占比分析本人浅薄分析 各评分雷达图本人浅薄分析 差评词云-可视化本人浅薄分析 好评词云-可视化本人浅薄分析 综合分析写在最后 今年冬天&#xff0c;哈尔滨冰雪旅游"杀疯了&q…

炫酷的倒计时引导页

文章目录 文件分布介绍效果预览代码css样式Locationplayer.css js样式player.js 文件分布介绍 效果预览 代码 css样式 Location html {height: 100%;}body {font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", Tahoma, "Hirag…

SwiftUI 打造一款收缩自如的 HStack(三):“魔镜魔镜,我爱你”

概览 在前两篇博文中,我们分别讨论了用 HStack 和 对齐+ZStack 来实现收缩自如“HStack”的方法。 虽然看起来“各有千秋”,但实际上它们都拖着一坨厚重的 datas,这不禁为其“减分不少”。 而从上图演示中可以看到:我们完全摆脱了 datas 数据的桎梏,现在我们可以按照轻松…

【Java EE初阶九】多线程案例(线程池)

一、线程池的引入 引入池---->主要是为了提高效率&#xff1b; 最开始&#xff0c;进程可以解决并发编程的问题&#xff0c;但是代价有点大了&#xff0c;于是引入了 “轻量级进程” ---->线程 线程也能解决并发编程的问题&#xff0c;而且线程的开销比进程要小的多&…

JS新手入门笔记整理:条件判断

判断语句&#xff1a;IF 单向判断&#xff1a;if... 语法 if&#xff08;条件&#xff09; {…… } 如果“条件”返回结果为true&#xff0c;则会执行大括号{}内部的程序&#xff1b;如果“条件”返回结果为false&#xff0c;则会直接跳过大括号{}内部的程序&#xff0c;然后…

Python中User-Agent的重要作用及实际应用

摘要&#xff1a; User-Agent是HTTP协议中的一个重要字段&#xff0c;用于标识发送请求的客户端信息。在Python中&#xff0c;User-Agent的作用至关重要&#xff0c;它可以影响网络请求的结果和服务器端的响应。将介绍User-Agent在Python中的重要作用&#xff0c;并结合实际案…

编码器原理详解

编码器 什么是编码器 编码器可以用来将信息编码成为二进制代码&#xff0c;有点类似于取代号&#xff0c;人为的将二进制代码与对应的信息联系起来。 如下图所示&#xff1a; 假设有这三种情况会发生&#xff0c;且每次只发生一种情况 为了给这三种情况做一个区分&#xff…

FPGA - 240102 - FPGA期末速成

TAG - F P G A 、期末、速成 FPGA、期末、速成 FPGA、期末、速成 // – 习题1 – //CPLD&#xff08;Complex Programmable Logic Device&#xff09;是 Complex PLD 的简称&#xff0c;一种较 PLD 为复杂的逻辑元件。CPLD 逻辑资源多寄存器少&#xff0c;FPGA 逻辑弱而寄存器…

TemporalKit的纯手动安装

最近在用本地SD安装temporalkit插件 本地安装插件最常见的问题就是&#xff0c;GitCommandError:… 原因就是&#xff0c;没有科学上网&#xff0c;而且即使搭了ladder&#xff0c;在SD的“从网址上安装”或是“插件安装”都不行&#xff0c;都不行&#xff01;&#xff01;&am…

PMP考试的通过标准是什么?

PMP 新考纲一共是 180道题&#xff0c;答对 108道就通过了&#xff0c;具体怎么看&#xff1f; 登录网站查询&#xff1a; 第一步&#xff1a;登录PMI网站&#xff1a;www.pmi.org 第二步&#xff1a;进入Dashboard&#xff1a; 第三步&#xff1a;点击菜单Certifications - …

C#自动删除20天前文件夹图片

资料夹如下&#xff0c;需求为自动删除20天前保存的图片 如下为该方法函数&#xff0c;保留天数可以自定义 public static void CleanFile(){string path $"{SvMaster.DataPath}\\Image";\\文件夹路径DirectoryInfo dir new DirectoryInfo(path);FileSystemInfo[] …

XD6500S一款串口SiP模块 射频LoRa芯片 内置sx1262

1.1产品介绍 XD6500S是一款集射频前端和LoRa射频于一体的LoRa SIP模块系列收发器SX1262 senies&#xff0c;支持LoRa⑧和FSK调制。LoRa技术是一种扩频协议优化低数据速率&#xff0c;超长距离和超低功耗用于LPWAN应用的通信。 XD6500S设计具有4.2 mA的有效接收电流消耗&#…