package cn.java.test;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.stream.Collectors;
import org.junit.Test;
/**
* list去重
* @author Administrator
*
*/
public class ListTest {
//1.jdk新特性stream
@Test
public void test1(){
List list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
list.add("1");
list.add("1");
list.add("4");
list = (List) list.stream().distinct().collect(Collectors.toList());
System.out.println(list);
}
//2.Set去重
@Test
public void test2(){
List list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
list.add("1");
list.add("1");
list.add("4");
HashSet set = new HashSet(list);
set.clear();
set.addAll(list);
System.out.println(set);
}
//遍历重新添加到新集合
@Test
public void test3(){
List list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
list.add("1");
list.add("1");
list.add("4");
//定义一个排序后的数组
List list2 = new ArrayList();
for(int i=0;i<list.size();i++){
if(!list2.contains(list.get(i))){
list2.add(list.get(i));
}
}
System.out.println(list2);
}
//4.遍历,将相同的移除
@Test
public void test4(){
List list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
list.add("1");
list.add("1");
list.add("4");
for(int i=0;i<list.size()-1;i++){
for(int j=list.size()-1;j>i;j--){
if(list.get(j).equals(list.get(i))){
list.remove(j);
}
}
}
System.out.println(list);
}
}