JAVA中集合去重的三种基本方式

如何实现 List 集合去重? 前言 我们都知道 InnoDB 在模糊查询数据时使用 "%xx" 会导致索引失效,但有时需求就是如此,类似这样的需求还有很多,例如,搜索引擎需要根基用户数据的关键字进行全文查找,电子商务网站需要根据用户的查询条件,在可能需要在商品的详细介绍中进行查找,这些都不是B+树索引能很好完成的工作。 通过数值比较,范围过滤等就可以完成绝大多数我们需要的查询了。但是,如果希望通过关键字的匹配来进行查询过滤,那么就需要基于相似度的查询,而不是原来的精确数值比较,全文索引就是为这种场景设计的。 全文索引(Full.. 阅读详情

在学习JAVA的过程中,总是会碰见对集合中的元素进行去重的要求,在这里总结了三种基本的去重方法.

主要的思想就是:先取元素,后进行比较,最后放回去.

案例如下:

package eliminate_duplicate;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

//初学者应该了解的集合中去重的几种方式
public class Eliminate_duplicate {
	public static void main(String[] args) {
		List<Integer> list = new ArrayList<Integer>();
		list.add(1);
		list.add(1);
		list.add(2);
		list.add(2);
		list.add(3);
		
		// 第一种:通过创建新的集合来存储不重复的元素
		List<Integer> list2 = new ArrayList<Integer>();
		for (Integer in : list) {
			if (!list2.contains(in)) {
				list2.add(in);
			}
		}
		System.out.println(list2);

		// 第二种:把集合元素先删除,后添加不重复的元素
		for (int i = 0; i < list.size(); i++) {
			Integer rs = list.remove(i);
			if (!list.contains(rs)) {
				list.add(i, rs);
			} else {
				i--;
			}
		}
		System.out.println(list);

		// 第三种:利用set集合自动去重的特性
		Set<Integer> set = new HashSet<Integer>();
		for (int i = 0; i < list.size(); i++) {
			set.add(list.get(i));
		}
		System.out.println(set);
	}

}

树莓派4在Bookworm Raspbian系统下无法进入桌面模式(启动后出现彩色画面,然后一直黑屏,但是可以正常启动和ssh) 本文记录了这段比较坎坷的探索之路,由于你的问题不一定是我最终解决方案的,可能是前面探索路上试过的,所以建议按顺序看排除前置问题。 双十一又买了个树莓派 4B,插上之前树莓派 4B 的 TF 卡直接就能使用(毕竟是一样规格的)。但是由于用来连接硬盘的 USB 线是坏的,我以为是系统问题就进行了重装(所以坏掉的线还是直接扔了好)。 重新安装系统就装了最新的 2023-10-10 版本的 64 位的 Raspberry Pi OS,但是出现了一个问题: 启动后出现彩色画面,然后一直黑屏。 阅读详情

相关推荐

【论文复现】HiDDeN:Hiding Data With Deep Networks

(标签)是 float 类型,但代码中传入的是 long 类型(整数标签)。函数参数解析方式变化,导致无法正确保存生成的图像结果。这是因为新版torchvision的。使用预训练模型进行隐写和提取测试。HiDDeN支持多种噪声层组合。打印变量的类型,分别是。

qq_69146676的博客 971

集合去重的几种方法

集合去重

田恬甜_优快云博客 1万+

publisher与subscriber话题的消息类型md5sum不一致问题

[ERROR] [1604235557.591296096]: Client [/range_vision_fusion_01] wants topic /detection/vision_objects to have datatype/md5sum [autoware_msgs/DetectedObjectArray/13415342e539aa36ea9a6f04ffaf39b4], but our version has [autoware_msgs/DetectedObjectArray/c16a

cxhmike的博客 6620

List集合去重的三种方法

在实际开发的时候,我们经常会碰到这么一个困难:一个集合容器里面有很多重复的对象,里面的对象没有主键,但是根据业务的需求,实际上我们需要根据条件筛选出没有重复的对象。 比较暴力的方法,就是根据业务需求,通过两层循环来进行判断,没有重复的元素就加入到新集合中,新集合中已经有的元素就跳过。 操作例子如下,创建一个实体对象PenBean,代码如下: /** *笔实体 */ publicclassPenBean{ /**类型*/ privateStringtype; ...

一蓑烟雨任平生 1万+

Unity 2022.3.3 LTS + Visual Studio 2022:手把手教你复刻《吸血鬼幸存者》核心战斗(附完整项目源码)

本文详细介绍了如何使用Unity 2022.3.3 LTS和Visual Studio 2022从零构建《吸血鬼幸存者》式战斗系统。通过图文开发教程,涵盖对象池优化、ECS架构雏形、2D物理碰撞控制等关键技术,帮助开发者高效复刻这款热门游戏的自动攻击与海量刷怪机制。

weixin_30721077的博客 458

Ubuntu终端接入Codex:一行脚本搞定AI编程助手安装与配置

在开发者日常工作中,命令行终端是最高频的操作环境,而AI编程助手的出现正在改变传统的编码方式。通过将大模型能力与终端工具链结合,开发者无需切换窗口即可完成命令查询、代码生成、项目理解和自动执行等任务。Ubuntu作为服务器和开发机的主流系统,搭配Node.js生态和API Key认证,即可在本地闭环运行AI助手。本文从环境准备、密钥配置、权限管理到自动化脚本封装,系统拆解在终端中接入Codex的完整流程,并分享高频用法与实测排障经验,帮助开发者安全、高效地让AI融入命令行工作流。

weixin_29061041的博客 322

List 集合去除重复元素的5种方法

【代码】List 集合去除重复元素的5种方法。

林夕 2万+

基于高精度三维机器视觉的新能源汽车锂电池表面缺陷检测

在机器视觉行业迅速发展的背景下,市场上提供了功能强大且种类齐全的3D相机系列,可以满足锂电池从电芯到模组各个工艺和工位的3D检测需求。

Hinyeung_Limited的博客 1132

Java集合去重

在日常工作中,我们时常会遇到需要对数据进行遍历去重的操作,笔者便将自己所熟知的几种方法分享给大家。 首先模拟一个实体类,并创建一个main方法调用。 public static void main(String[] args) { List<User> list = new ArrayList(4); list.add(new User("张三","杭州")); list.add(new User("李四","上海")); .

qq_41053971的博客 7628

FPGA经验谈系列文章——3、逻辑级数

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Xilinx FPGA开发tips系列——前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的

gzy0506的博客 1万+

(代码可运行)半导体器件和工艺模拟 使用Silvaco设计构建NMOS并提取各项工艺及器件参数

win10。

qq_20388971的博客 109

JAVA集合去重的三种基本方式

第一种:创建新的集合,如果新的集合里面没有要去重集合的元素,新集合添加该元素 备注:list为要去重集合,list2为新集合 List<Integer> list2 = new ArrayList<Integer>(); for (Integer in : list) { if (!list2.contains(in)) { list2.add(in)...

yhquser的博客 1681

【ESP 保姆级教程】第三方库篇 ——TimeLib库,一个非常Nice的时间库,结合第三方进行校正时间

Time,这是一个为Arduino提供时间支持的库。 这个库的例子中会教会我们多种方式去获取时间: - 一个`RTC`时钟 - 网络`NTP`时间 - `GPS`时间

单片机菜鸟哥的博客 3674

Java 入门练习(36 - 40)

牛客网 Java 入门练习

村雨遥 1505

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Java中List集合去重的几种方式

准备数据: // 准备数据 List&lt;String&gt; list = new ArrayList(); list.add("a"); list.add("b"); list.add("c"); list.add("c"); list.add("b"); list.add("a"); 1. 利用HashSet去重 // 利用list中的元素创建HashSet集合,

脚印 3万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【Java】List集合去重的方式

List集合去重的方式

斯基的朦胧 7053

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Java中List集合对象去重及按属性去重

请直接移步原文。

tellmewhoisi的博客 1920

【Java】List集合对象去重及按属性去重的多种方法

在Java中,List集合是常用的数据结构之一。在实际开发中,我们经常需要对List集合进行去重操作,特别是按某个属性进行去重。本文将详细介绍几种在Java中对List集合对象去重及按属性去重的方法,并提供一些实用的示例代码。

科技改变人类,技术成就未来 4702

【List集合去重的5种方式】

List集合去重的5种方式 1、双重for循环 for (int i = 0; i < list.size(); i++) { for (int j = 0; j < list.size(); j++) { if(i!=j&&list.get(i)==list.get(j)) { list.remove(list.get(j)); } } } 2、利用List集合的contains方法循环遍历,清空,重新添加 private static voi

Jie975的博客 1万+

List元素去重的六种方式

上周的时候完成公司交付的任务,突然间遇到了需要把重复元素去掉的功能,当时我的大脑飞速运转,努力回想以前学习关于list的知识,后来, 我发现已经忘得差不多了,所以我就找到了这篇文章,说的很详细。本来打算当时就记笔记的,后来无奈太忙了,所以拖了一周多才完成。 以下将通过六种方式将list集合内的元素去重,选择一个简单的方法记住它吧! 这篇文章参考了很多资料,感谢老师们的贡献,原文链接在这儿【List数据去重的五种有效方法】 目录 可以自动排序的: 方法一:利用TreeSet集合特性保持...

Lockin_C的博客 3万+

关于java的List集合对象去重及按属性去重的8种方法

最近在写一些关于java基础的文章,但是我又不想按照教科书的方式去写知识点的文章,因为意义不大。基础知识太多了,如何将这些知识归纳总结,总结出优缺点或者是使用场景才是对知识的升华。所以我更想把java相关的基础知识进行穿针引线,进行整体上的总结。 总结java中创建并写文件的5种方式 总结java从文件中读取数据的6种方法 总结java创建文件夹的4种方法及其优缺点 总结java中删除文件或文件夹的7种方法 总结java中文件拷贝剪切的5种方式 比如之前我已经写了上面的这些内容,如果对java基础知识总结

gg7894125的博客 4326

List集合对象去重及按属性去重的8种方法

最近在写一些关于java基础的文章,但是我又不想按照教科书的方式去写知识点的文章,因为意义不大。基础知识太多了,如何将这些知识归纳总结,总结出优缺点或者是使用场景才是对知识的升华。所以我更想把java相关的基础知识进行穿针引线,进行整体上的总结。 总结java中创建并写文件的5种方式 总结java从文件中读取数据的6种方法 总结java创建文件夹的4种方法及其优缺...

qq_42390636的博客 5643

Java中,Map、List集合遍历、去重方式超详细总结

Java面试总结,Java集合常问内容,集合的基本概念,Map集合去重、List集合去重

weixin_55746254的博客 5670

【JAVA】List的去重的三种方式的效率比较

说明 list的去重一般是有三种方式: Set方式 利用Set的特性,但不能保证List的数据添加顺序。 LinkedHashSet 继承HashSet并且实现了LinkedHashMap保存所有的数据,该方式是创建的双重链接列表,此列表定义了迭代顺序,能够记录list的数据添加顺序 list的for循环contains 效率对比 import org.apache.commons.lang....

菜鸟sdut的博客 2150

JAVA集合中常见的两种去重的两种方式

JAVA集合中常见的两种去重的两种方式 1,用set来去重 2,用!list.contains(list.get(i)),如果集合中部存在就添加到新集合中。 package com.homework; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; i

反正我不管,就爱陈旭员 1万+

List集合去重方式及效率对比

List集合相信大家在开发过程中几乎都会用到。有时候难免会遇到集合里的数据是重复的,需要进行去除。然而,去重方式有好几种方式,你用的是哪种方式呢?去重方式效率是否是最高效、最优的呢?今天就给大家讲解一下List集合去重的常见及常用的四种方式。 01 实现思路:使用两个for循环遍历集合所有元素,然后进行判断是否有相同元素,如果有,则去除。这种方式是大部分最先想到的,也是最简单的实现方式。其中,...

格姗知识圈的博客 4875
下一篇: JAVA中数组和集合排序的小方法
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值