首先,去除List集合中重复的元素有两种方式:
方式一:如下
嵌套循环
//去除重复元素方式一:
@Test
public void test5(){
ArrayList<Object> list = new ArrayList<>();
list.add(1);
list.add(3);
list.add(1);
list.add(5);
list.add(6);
list.add(6);
list.add(6);
list.add(6);
list.add(2);
list.add(1);
System.out.println("去重复之前");
for (Object o : list) {
System.out.print(o+" ");
}
for (int i =0 ; i<list.size()-1;i++){
for(int j =i+1; j<list.size();j++){
if(list.get(i).equals(list.get(j))){
list.remove(i);
}
}
}
System.out.println("去重复之后");
for (Object a : list) {
System.out.print(a+" ");
}
}
方式二:如下
创建一个临时的集合,用来存储
//去除重复元素方式二:
@Test
public void test6(){
ArrayList<Object> list = new ArrayList<>();
list.add(1);
list.add(3);
list.add(1);
list.add(5);
list.add(6);
list.add(6);
list.add(6);
list.add(6);
list.add(2);
list.add(1);
System.out.println("去重复之前");
for (Object o : list) {
System.out.print(o+" ");
}
System.out.println();
ArrayList<Object> temp = new ArrayList<>();
Iterator<Object> it = list.iterator();
while (it.hasNext()) {
Integer str = (Integer) it.next();
if(!temp.contains(str)){
temp.add(str);
}
}
System.out.println("去重复之后");
for (Object a : temp) {
System.out.print(a+" ");
}
}