现有一个ArrayList,定义如下:
List<Integer> list=new ArrayList<>();
list.add(1);
list.add(3);
list.add(3);
list.add(7);
list.add(1);
list.add(5);
list.add(5);
list.add(5);
请在下方方框内完成方法removal,对该list进行去重,并将结果存放在一个新的List列表中并返回。例如上述list的去重结果应为1,3,7,5
(注,如果需要这些单词:迭代器拼写Iterator,整形拼写Integer,list获取迭代器list.iterator())
package com.wrh.test;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
public class MC{
public static void main(String[] args) {
List<Integer> list=new ArrayList<>();
list.add(1);
list.add(3);
list.add(3);
list.add(7);
list.add(1);
list.add(5);
list.add(5);
list.add(5);
System.out.println("原集合元素");
System.out.println(list);
System.out.println("--------双重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(list.get(j));
}
}
}
System.out.println(list);
List newList = list.stream().distinct().collect(Collectors.toList());
System.out.println("-------java8新特性stream去重:-------");
System.out.println(newList);
Set set1 = new HashSet();
List newList1 = new ArrayList();
for (Integer integer : list) {
if(set1.add(integer)) {
newList1.add(integer);
}
}
System.out.println("-----set集合判断去重:-----");
System.out.println(newList1);
List newList2 = new ArrayList();
for (Integer integer : list) {
if(!newList2.contains(integer)){
newList2.add(integer);
}
}
System.out.println("赋值新list去重:"+newList2);
Set set2 = new HashSet();
List newList3 = new ArrayList();
set2.addAll(list);
newList3.addAll(set2);
System.out.println("set和list转换去重:"+newList3);
}
}