Java 中ArrayList<Object>如何去除其中重复的对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 中ArrayList<Object>如何去除其中重复的对象相关的知识,希望对你有一定的参考价值。

去掉重复对象的方案很多, 比如利用set去重等.

参考代码

import java.util.ArrayList;
import java.util.HashSet;

public class Test 
public static void main(String[] args) 
ArrayList<Object> list =new ArrayList<Object>();
list.add(8);
list.add(2);
list.add(8);
list.add(7);
list.add(6);
list.add(5);
list.add(2);
list.add(7);
System.out.println("原始集合"+list);

//方案1 . 不考虑list原始顺序的情况下
HashSet<Object> set = new HashSet<Object>(list);//把list作为参数放到HashSet的构造函数里,去掉重复元素
ArrayList<Object> result1= new ArrayList<Object>(set);//把set作为参数放到ArrayList构造函数里
System.out.println(result1);//输出result1


//方案2   考虑list的原始顺序
ArrayList<Object> result2 = new ArrayList<Object>();
for (int i = 0; i <list.size(); i++) 
if(!result2.contains(list.get(i))) //如果没有重复元素 ,才添加进结果集合result2
result2.add(list.get(i));


System.out.println(result2);//输出result2


输出

原始集合[8, 2, 8, 7, 6, 5, 2, 7]
[2, 5, 6, 7, 8]
[8, 2, 7, 6, 5]

参考技术A import java.util.ArrayList;
import java.util.List;

public class ArrayListTest 
public static void main(String[] args) 
/**
 * 定义功能:清除ArrayList集合中的重复元素
 */
List arraylist = new ArrayList();
arraylist.add("test1");
arraylist.add("test2");
arraylist.add("test3");
arraylist.add("test1");
arraylist.add("test2");
arraylist.add("test1");

System.out.println(arraylist);
singleElement(arraylist);
System.out.println(arraylist);


public static void singleElement(List arraylist) 
/**
 * 下面的size是在发生改变的,所以这样每次删除一次的时候都会影响到结果,有些结果是遍历不到的。
 */
for (int i = 0; i < arraylist.size() - 1; i++) 
Object object_x = arraylist.get(i);
for (int j = i + 1; j < arraylist.size(); j++) 
if (object_x.equals(arraylist.get(j))) 
arraylist.remove(j);
j--;




以上是关于Java 中ArrayList<Object>如何去除其中重复的对象的主要内容,如果未能解决你的问题,请参考以下文章

Java 中ArrayList<Object>如何去除其中重复的对象

Arrays$ArrayList 的 Object 对象转换为 List<Object> 对象的技巧

在java怎么安全的将Object转化为ArrayList

如何将对象类转换为 arrayList ? java [重复]

尝试将数组添加到 Java 中的 ArrayList 时出错 [重复]

如何找出每个对象在 ArrayList<Object> 中的类型?