集合
package com;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Test {
public static void main(String[] args) {
List list1 =new ArrayList();
list1.add("1111");
list1.add("2222");
list1.add("3333");
List list2 =new ArrayList();
list2.add("3333");
list2.add("4444");
list2.add("5555");
list2.removeAll(list1);
list1.addAll(list2);
Iterator<String> it=list1.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
public static void printStr(List list1){
for (int i = 0; i < list1.size(); i++) {
System.out.println(list1.get(i));
}
}
}
數組
package com.wish.datastrustudy;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
public class StringArray {
public static void main(String[] args) {
String[] arr1 = {"abc", "df", "abc","dd","bdfe"};
String[] arr2 = {"abc", "cc", "df", "d", "abc"};
String[] result_union = union(arr1, arr2);
System.out.println("求並集的結果如下:");
for (String str : result_union) {
System.out.println(str);
}
String[] result_insect = intersect(arr1, arr2);
System.out.println("求交集的結果如下:");
for (String str : result_insect) {
System.out.println(str);
}
String[] result_minus = substract(arr1, arr2);
System.out.println("求差集的結果如下:");
for (String str : result_minus) {
System.out.println(str);
}
}
public static String[] union (String[] arr1, String[] arr2){
Set<String> hs = new HashSet<String>();
for(String str:arr1){
hs.add(str);
}
for(String str:arr2){
hs.add(str);
}
String[] result={};
return hs.toArray(result);
}
public static String[] intersect(String[] arr1, String[] arr2){
List<String> l = new LinkedList<String>();
Set<String> common = new HashSet<String>();
for(String str:arr1){
if(!l.contains(str)){
l.add(str);
}
}
for(String str:arr2){
if(l.contains(str)){
common.add(str);
}
}
String[] result={};
return common.toArray(result);
}
public static String[] substract(String[] arr1, String[] arr2) {
LinkedList<String> list = new LinkedList<String>();
for (String str : arr1) {
if(!list.contains(str)) {
list.add(str);
}
}
for (String str : arr2) {
if (list.contains(str)) {
list.remove(str);
}
}
String[] result = {};
return list.toArray(result);
}
}