//set集合去重,不改变原有的顺序
public static void pastLeep1(List<String> list){ System.out.println("list = [" + list.toString() + "]");//先打印一下集合中看有那些的数据List<String> listNew=new ArrayList<>();//创建一个新的集合Set set=new HashSet();//创建一个set集合,因为set是不可重复的集合for (String str:list) { //把要去重的集合遍历放到set集合中去重if(set.add(str)){ //set.add()的方法是返回的是一个boolean类型,成功为true,失败falselistNew.add(str);}
//set在集合类中是不可重复的,,所以放到set中都是单跳,而list集合是可以重复的
}System.out.println("listNew = [" + listNew.toString() + "]");}
//遍历后判断赋给另一个list集合
public static void pastLeep2(List<String> list){ System.out.println("list = [" + list.toString() + "]");List<String> listNew=new ArrayList<>();for (String str:list) { if(!listNew.contains(str)){ //contains在集合中的方法是:是否包含的意思,返回的是一个boolean类型的 前面叫一个 "!" 表示不包含的意思listNew.add(str);}}System.out.println("listNew = [" + listNew.toString() + "]");}//set去重
public static void pastLeep3(List<String> list){ System.out.println("list = [" + list + "]");Set set = new HashSet();List<String> listNew=new ArrayList<>();set.addAll(list);listNew.addAll(set);System.out.println("listNew = [" + listNew + "]");}//set去重(缩减为一行)
public static void pastLeep4(List<String> list){ System.out.println("list = [" + list + "]");List<String> listNew=new ArrayList<>(new HashSet(list));System.out.println("listNew = [" + listNew + "]");}//去重并按自然顺序排序
public static void pastLeep5(List<String> list){ System.out.println("list = [" + list + "]");List<String> listNew=new ArrayList<>(new TreeSet<String>(list));//TreeSet是一个树形结构的set集合,集合中的数据是按照一定的顺序进行排序(自然排序和二叉树等)System.out.println("listNew = [" + listNew + "]");}