Java 中ArrayList<Object>如何去除其中重复的对象
2个回答
展开全部
去掉重复对象的方案很多, 比如利用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]
展开全部
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--;
}
}
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询