代码编织梦想

以下介绍五种-不同的方法去除Java中ArrayList中的重复数据

1.使用LinkedHashSet删除arraylist中的重复数据

**LinkedHashSet**是在一个ArrayList删除重复数据的最佳方法。LinkedHashSet在内部完成两件事:

  • 删除重复数据
  • 保持添加到其中的数据的顺序

Java示例使用LinkedHashSet删除arraylist中的重复项。在给定的示例中,numbersList是包含整数的arraylist,其中一些是重复的数字,例如1,3和5.我们将列表添加到LinkedHashSet,然后将内容返回到列表中。结果arraylist没有重复的整数。

????public?static?void?main(String[] args)?{
        int List[] =[1,?1,?2,?3,?3,?3,?4,?5,?6,?6,?6,?7,?8]
????????LinkedHashSet<Integer> hashSet =?new?LinkedHashSet<>(List);
????????ArrayList<Integer> listWithoutDuplicates =?new?ArrayList<>(hashSet);
????????System.out.println(listWithoutDuplicates);

????}

输出结果

[1,?2,?3,?4,?5,?6,?7,?8]

2.使用java8新特性stream进行List去重

要从arraylist中删除重复项,我们也可以使用java 8 stream api。使用steam的distinct()方法返回一个由不同数据组成的流,通过对象的**equals()**方法进行比较。

收集所有区域数据List使用[Collectors.toList()](https://docs.oracle.com/javase/8/docs/api/java/util/stream/Collectors.html#toList--)

Java程序,用于_在不使用Set的情况下从java中的arraylist中删除重复项_。

public?static?void?main(String[] args){
        int List[] =[1,?1,?2,?3,?3,?3,?4,?5,?6,?6,?6,?7,?8]
????????List<Integer> listWithoutDuplicates = List.stream().distinct().collect(Collectors.toList());
????????System.out.println(listWithoutDuplicates);
????}

输出结果

[1,?2,?3,?4,?5,?6,?7,?8]

3.利用HashSet不能添加重复数据的特性 由于HashSet不能保证添加顺序,所以只能作为判断条件保证顺序:

private static void removeDuplicate(List<String> list) {
? ? HashSet<String> set = new HashSet<String>(list.size());
? ? List<String> result = new ArrayList<String>(list.size());
? ? for (String str : list) {
? ? ? ? if (set.add(str)) {
? ? ? ? ? ? result.add(str);
? ? ? ? }
? ? }
? ? list.clear();
? ? list.addAll(result);
}

4.利用List的contains方法循环遍历,重新排序,只添加一次数据,避免重复:

private static void removeDuplicate(List<String> list) {
? ? List<String> result = new ArrayList<String>(list.size());
? ? for (String str : list) {
? ? ? ? if (!result.contains(str)) {
? ? ? ? ? ? result.add(str);
? ? ? ? }
? ? }
? ? list.clear();
? ? list.addAll(result);
}

5.双重for循环去重

public static void main(String[] args) {
	int List[] = [1, 1, 2, 3, 3, 3, 4, 5, 6, 6, 6, 7, 8]
	for (int i = 0; i < List.size(); i++) {
		for (int j = i + 1; j < List.size(); j++) {
			if (List.get(i) == List.get(j)) {
				List.remove(j);
				j--;
			}
		}
	}
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_67392182/article/details/123634424

java中list集合去除重复数据的方法-爱代码爱编程

1. 循环list中的所有元素然后删除重复 public static List removeDuplicate(List list) { for ( int i = 0 ; i < list.size() - 1 ; i ++ ) { for ( int j

去除list集合中的重复值(四种好用的方法)_微风--轻许--的博客-爱代码爱编程_.net 集合去重

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 最近项目中需要对list集合中的重复值进行处理,大部分是采用两种方法,一种是用遍历list集合判断后赋给另一个list集合,一种是用赋给set集合再返回给list集合。 但是赋给set集合后,由于set集合是无序的,原先的顺序就打乱了。所以我又想着能不能用

Mark,ArrayList 去除重复数据-爱代码爱编程

推荐2种方式吧: 1.使用LinkedHashSet删除arraylist中的重复数据 LinkedHashSet是在一个ArrayList删除重复数据的最佳方法。LinkedHashSet在内部完成两件事: 删除重复数据 保持添加到其中的数据的顺序 Java示例使用LinkedHashSet删除arraylist中的重复项。在给定的示例中,nu

List去除重复数据的五种方式-爱代码爱编程

List去除重复数据的五种方式 以下介绍五种-不同的方法去除 Java 中ArrayList中的重复数据 1.使用LinkedHashSet删除arraylist中的重复数据 LinkedHashSet是在一个ArrayList删除重复数据的最佳方法。LinkedHashSet在内部完成两件事: 删除重复数据保持添加到其中的数据的顺序Java示例使用

List去除重复数据的几种方法-爱代码爱编程

List去除重复数据的几种方法 1.使用LinkedHashSet删除arraylist中的重复数据 LinkedHashSet是在一个ArrayList删除重复数据的最佳方法。LinkedHashSet在内部完成两件事: 删除重复数据 保持添加到其中的数据的顺序 Java示例使用LinkedHashSet删除arraylist中的重复项。在给定的示

List去除重复数据的五种方式,超级实用-爱代码爱编程

1.使用LinkedHashSet删除arraylist中的重复数据 LinkedHashSet是在一个ArrayList删除重复数据的最佳方法。LinkedHashSet在内部完成两件事: 删除重复数据 保持添加到其中的数据的顺序 Java示例使用LinkedHashSet删除arraylist中的重复项。在给定的示例中,numb

【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(l

java List去掉重复元素的几种方式-爱代码爱编程

使用LinkedHashSet删除arraylist中的重复数据(有序) List<String> words= Arrays.asList("a","b","b","c","c","d"); HashSet<String> set=new LinkedHashSet<>(words); for(String word

java 去除重复的元素_java List去掉重复元素的几种方式(小结)-爱代码爱编程

使用LinkedHashSet删除arraylist中的重复数据(有序) LinkedHashSet是在一个ArrayList删除重复数据的最佳方法。LinkedHashSet在内部完成两件事: 删除重复数据 保持添加到其中的数据的顺序 List words= Arrays.asList("a","b","b","c","c","d"); H

java list distinct_Java中List集合去除重复数据的方法-爱代码爱编程

1.循环list中的所有元素然后删除重复 /** * 功能描述:循环list中的所有元素然后删除重复 * * @param: * @return: * @auther: weizy 2019/2/27 14:12 */ public static List removeDuplicate3(List list){ for(int i

java listmap去重复_【求助】JAVA8 List-爱代码爱编程

问题描述 如下所示 List 数据结构: List> list = new ArrayList<>(); Map map1 = new HashMap<>(); map1.put("order_no", "123"); map1.put("quantity", 10); map1.put("amount", 1

java去除集合中的相同元素,Java 删除List中的重复元素-爱代码爱编程

本教程将向你演示如何删除List中的重复元素,删除List中重复元素的方法包括:纯Java实现、使用Java8 Lambda表达式、使用Guava。 1. 纯Java实现删除List中的重复元素 我们可以很容易的通过Java集合类——Set来实现该功能。 public void givenListContainsDuplicates_whenR

java list 数据不重复,Java中List集合去除重复数据的方法-爱代码爱编程

1. 循环list中的所有元素然后删除重复 public   static   List  removeDuplicate(List list)  {        for  ( int  i  =   0 ; i   for  ( int  j  =  list.size()  -   1 ; j  >  i; j -- )  { if

java中list去重的五种方式-爱代码爱编程

文章目录 前言一、方式分类1.使用java8新特性去重2.使用LinkedHashSet删除list中的重复数据3.使用List集合中的contains方法去重(循环遍历)4.双重for循环去重5.使用HashSet去重总结 前言 java中list去重的五种方式 一、方式分类 1.使用java8新特性去重 代码如下(示例): p