package test;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;

public class test_01 {
     public static void main(String args[]){
         List<String> list1 = new ArrayList<String>();
         List<String> list2 = new ArrayList<String>();
         
         list1.add("orange");        
         list1.add("Alppe");    
         list1.add("Kiwi");        
         list1.add("Banana");
         
         list2.add("Banana");        list2.add("Banana");    
         list2.add("orange");        list2.add("orange");    
         list2.add("Mango");        list2.add("Mango");        
         list2.add("Pitaya");        list2.add("Pitaya");    
         list2.add("Kiwi");            list2.add("Kiwi");        
         System.out.println("list1:" + list1);
         System.out.println("list2:" + list2);
         
         /*使用HashSet將重複的String給移除*/
         HashSet<String> HashSet1 = new HashSet<String>(list1);
         HashSet<String> HashSet2 = new HashSet<String>(list2);
         System.out.println("HashSet移除重複的String:" + HashSet2);
         
         list1.retainAll(list2);//保留兩個陣列相同的String
         list2.removeAll(list1);//移除兩個陣列相同的String
         System.out.println("兩個陣列相同的String:" + list1);
         System.out.println("兩個陣列無相同的String:" + list2);
     }
}

輸出結果:

list1:[orange, Alppe, Kiwi, Banana]
list2:[Banana, Banana, orange, orange, Mango, Mango, Pitaya, Pitaya, Kiwi, Kiwi]
HashSet移除重複的String:[orange, Kiwi, Mango, Banana, Pitaya]
兩個陣列相同的String:[orange, Kiwi, Banana]
兩個陣列無相同的String:[Mango, Mango, Pitaya, Pitaya]

如果將list改成HashSet則如下

 HashSet1.retainAll(HashSet2);//保留兩個陣列相同的String
 HashSet2.removeAll(HashSet1);//移除兩個陣列相同的String

輸出結果:

list1:[orange, Alppe, Kiwi, Banana]
list2:[Banana, Banana, orange, orange, Mango, Mango, Pitaya, Pitaya, Kiwi, Kiwi]
HashSet移除重複的String:[orange, Kiwi, Mango, Banana, Pitaya]
兩個陣列相同的String:[orange, Kiwi, Banana]
兩個陣列無相同的String:[Mango, Pitaya]

arrow
arrow

    Joaquin(就愛睏) 發表在 痞客邦 留言(0) 人氣()