Java中List集合去重的几种方式详细解析

 更新时间:2023年11月17日 10:28:23   作者:牧码ya  
这篇文章主要介绍了Java中List集合去重的几种方式详细解析,在日常的业务开发中,偶尔会遇到需要将 List 集合中的重复数据去除掉的场景,那么今天我们来看看几种LIst集合去重的方式,需要的朋友可以参考下

Java的List集合去重

准备数据:

// 准备数据
List<String> 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集合,此时set中进行了去重操作
HashSet set = new HashSet(list);
// 清空list集合
list.clear();
// 将去重后的元素重新添加到list中
list.addAll(set);

2. 通过List的contains()方法去重

// 创建一个新的list集合,用于存储去重后的元素
List listTemp = new ArrayList();
// 遍历list集合
for (int i = 0; i < list.size(); i++) {
	// 判断listTemp集合中是否包含list中的元素
	if (!listTemp.contains(list.get(i))) {
		// 将未包含的元素添加进listTemp集合中
		listTemp.add(list.get(i));
	}
}

3. 循环List进行去重

// 从list中索引为0开始往后遍历
for (int i = 0; i < list.size() - 1; i++) {
	// 从list中索引为 list.size()-1 开始往前遍历
	for (int j = list.size() - 1; j > i; j--) {
		// 进行比较
		if (list.get(j).equals(list.get(i))) {
			// 去重
			list.remove(j);
		}
	}
}

到此这篇关于Java中List集合去重的几种方式详细解析的文章就介绍到这了,更多相关Java的List集合去重内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于springboot bean的实例化过程和属性注入过程

    基于springboot bean的实例化过程和属性注入过程

    这篇文章主要介绍了基于springboot bean的实例化过程和属性注入过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Mybatis千万级数据查询的解决方式,避免OOM问题

    Mybatis千万级数据查询的解决方式,避免OOM问题

    这篇文章主要介绍了Mybatis千万级数据查询的解决方式,避免OOM问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 分享J2EE的13种核心技术

    分享J2EE的13种核心技术

    在本文中我将解释支撑J2EE的13种核心技术:JDBC, JNDI, EJBs, RMI, JSP, Java servlets, XML, JMS, Java IDL, JTS, JTA, JavaMail 和 JAF,对j2ee的13种核心技术感兴趣的朋友一起学习吧
    2015-11-11
  • SpringBoot使用责任链模式优化业务逻辑中的if-else代码

    SpringBoot使用责任链模式优化业务逻辑中的if-else代码

    在开发过程中,我们经常会遇到需要根据不同的条件执行不同的逻辑的情况,我们可以考虑使用责任链模式来优化代码结构,使得代码更加清晰、可扩展和易于维护
    2023-06-06
  • java异步执行代码处理方法(先返回结果,后执行代码)

    java异步执行代码处理方法(先返回结果,后执行代码)

    这篇文章主要给大家介绍了关于java异步执行代码处理方法的相关资料,先返回结果,后执行代码,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • SpringCache常用注解及key中参数值为null问题解析

    SpringCache常用注解及key中参数值为null问题解析

    这篇文章主要介绍了SpringCache常用注解及key中参数值为null的问题解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • 浅谈Java如何实现一个基于LRU时间复杂度为O(1)的缓存

    浅谈Java如何实现一个基于LRU时间复杂度为O(1)的缓存

    这篇文章主要介绍了浅谈Java如何实现一个基于LRU时间复杂度为O(1)的缓存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Java中两个大数之间的相关运算及BigInteger代码示例

    Java中两个大数之间的相关运算及BigInteger代码示例

    这篇文章主要介绍了Java中两个大数之间的相关运算及BigInteger代码示例,通过biginteger类实现大数的运算代码,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Java中@Autowired和@Resource区别

    Java中@Autowired和@Resource区别

    本文主要介绍了Java中@Autowired和@Resource区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • springBoot+webMagic实现网站爬虫的实例代码

    springBoot+webMagic实现网站爬虫的实例代码

    这篇文章主要介绍了springBoot+webMagic实现网站爬虫的实例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05

最新评论