集合
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);
}
}