主题:[讨论]集合操作的问题
postg_cm
[专家分:40] 发布于 2007-10-16 15:38:00
各位大侠好:有一个关于集合的问题,是这样的:
有两个集合A、B,我现在要进行A、B两个集合元素的比较,然后B中如有不同于A的元素,便插入到集合A中,最后的结果就在集合A中。
请各位帮忙!谢谢!
回复列表 (共5个回复)
沙发
sjhlovejava [专家分:1690] 发布于 2007-10-16 17:14:00
你说的元素是类吗?如果类的话就比较 不好 处理
板凳
postg_cm [专家分:40] 发布于 2007-10-16 17:15:00
不是类,只是字符串或整数
3 楼
sjhlovejava [专家分:1690] 发布于 2007-10-16 17:18:00
集合中全部都只是字符串或数字,还是混合着
4 楼
postg_cm [专家分:40] 发布于 2007-10-16 18:11:00
只是其中一种
5 楼
sjhlovejava [专家分:1690] 发布于 2007-10-16 19:43:00
数字和字符串都能适用
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
public class Test3 {
/**
* @param args
*/
public static void main(String[] args) {
List lista = new ArrayList();
List listb = new ArrayList();
lista.add("A");
lista.add("B");
lista.add(1);
lista.add(8);
listb.add("B");
listb.add("C");
listb.add(1);
listb.add(3);
List listc =(List)together(lista, listb);
for(Object obj : listc){
System.out.println(obj);
}
}
public static Collection together(Collection A,Collection B){
for(Object objb : B.toArray()){
Integer index = 0;
for(Object obja : A.toArray()){
if(!obja.equals(objb)){
//与A元素不相同时,自加1,若全不相等index将与A集合数量相等
index++;
}
}
//若不相等,则说明至少有一元素是相同的
if(index == A.size()){
A.add(objb);
}
}
return A;
}
}
我来回复