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

 我来答
雪飞潇潇
2017-10-22 · TA获得超过6273个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:850万
展开全部

去掉重复对象的方案很多, 比如利用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]
蜀中靓仔
2019-07-26 · TA获得超过609个赞
知道小有建树答主
回答量:517
采纳率:100%
帮助的人:94.6万
展开全部
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--;
}
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式