Java 單個集合去重與兩個集合去重


一、單個集合去重

描述:

  去掉一個集合里重復的元素:將list集合轉成hashSet集合,hashSet有自動去重的功能,再利用去重后的hashSet集合初始化一個新的list集合,此時這個list就是去重后的集合。

代碼如下:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
public class Main {
    public static void main(String[] args) {
        ArrayList l2 = new ArrayList(Arrays.asList("111","111","ttt","eee","222","333","ttt","eee","222"));
        pastLeep(l2);
    }
    public static void pastLeep(List<String> list){
        System.out.println("list = [" + list + "]");
        List<String> listNew=new ArrayList<>(new HashSet(list));
        System.out.println("listNew = " + listNew);
    }
}

 

 

二、兩個集合去重

描述:

  在兩個集合里去除同時存在的元素:定義一個臨時集合,將第一個集合里的所有元素全部添加到臨時集合中,從第一個集合里移除在第二個集合里同時存在的全部元素,再從第二個集合里移除掉在第一個集合(臨時集合)里同時存在的全部元素。

代碼如下:

import java.util.ArrayList;
import java.util.Arrays;
public class Main {
    public static void main(String[] args) {
        ArrayList l1 = new ArrayList(Arrays.asList("111","222","333","444","555"));
        ArrayList l2 = new ArrayList(Arrays.asList("111","ddd","sss","eee","222","333","ttt"));
        Deduplication(l1,l2);
    }
    private static void Deduplication(ArrayList<String> list1,ArrayList<String> list2){
        ArrayList tempList = new ArrayList();
        //將list1里的所有元素添加到tempList里
        tempList.addAll(list1);
        //從list1中移除掉同時在list2中存在的元素(去重)
        list1.removeAll(list2);
        //從list2中移除掉同時在list1中存在的元素(去重)
        list2.removeAll(tempList);
        
        System.out.println(list1);
        System.out.println(list2);
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM