现在比较两个字符数组:String []a={"x","y","xy","yx"},String[]b={"xy","y","yx","a","b"} 最后需要记录反应三种信息: 1、b比a多哪些字符串? 2、b比a少哪些字符串? 3、b与a中顺序不同的字符串有哪些?
第三个问题:以a作为基准,b和a进行比较,
(在数组a,数组b中所有相同元素进行比较顺序)
取得b中数组元素与a中数组元素顺序不同的元素。
比如:a={"x","y","xy","yx"},b={"xy","y","yx","a","b"}
数组a,b相同的元素是:{"y","xy","yx"}
那么比较它们在数组a,b中的顺序,以数组a作为基准,数组b和a进行比较
最后得出顺序不同的数组元素:{"xy","yx"}
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
/**
* Author: db2admin
* Date : 2010-2-4
* Time : 15:41:37
* Comment:
*/
public class test {
public static List toArrayList(String[] temp) {
List templist=new ArrayList();
for (int i = 0; i < temp.length; i++) {
templist.add(temp[i]);
}
return templist;
}
public static List romove(List lista,List listb){
lista.removeAll(listb);
return lista;
//System.out.println(lista);
}
public static List compareArr(String[] a,String[] b){
List commonlist=new ArrayList();
if(a.length<b.length){
for(int i=0;i<a.length;i++){
if(a[i].equals(b[i]))
commonlist.add(a[i]);
}
}
return commonlist;
}
public static void main(String[] args){
String[] a = {"x", "y", "xy", "yx"};
String[] b = {"xy", "y", "yx", "a", "b"};
// A-B
System.out.println(test.romove(test.toArrayList(a),test.toArrayList(b)));
// B-A
System.out.println(test.romove(test.toArrayList(b),test.toArrayList(a)));
// A-(A-B) 公共集
System.out.println(
test.romove(test.toArrayList(a),test.romove(test.toArrayList(a),test.toArrayList(b)))
);
// 公共集-顺序值相同集
System.out.println(
test.romove(
test.romove(test.toArrayList(a),test.romove(test.toArrayList(a),test.toArrayList(b))),
test.compareArr(a,b))
);
}
}