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]