1. 程式人生 > >List的五種去重方式

List的五種去重方式

arraylist col 縮減 all 去重 nta () contains 順序

//set集合去重,不改變原有的順序
    public static void pastLeep1(List<String> list){
        System.out.println("list = [" + list.toString() + "]");
        List<String> listNew=new ArrayList<>();
        Set set=new HashSet();
        for (String str:list) {
            if(set.add(str)){
                listNew.add(str);
            }
        }
        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)){ 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)); System.out.println("listNew = [" + listNew + "]"); }

List的五種去重方式