回 帖 发 新 帖 刷新版面

主题:[讨论]集合操作的问题

各位大侠好:有一个关于集合的问题,是这样的:
有两个集合A、B,我现在要进行A、B两个集合元素的比较,然后B中如有不同于A的元素,便插入到集合A中,最后的结果就在集合A中。
请各位帮忙!谢谢!

回复列表 (共5个回复)

沙发

你说的元素是类吗?如果类的话就比较 不好 处理

板凳

不是类,只是字符串或整数

3 楼

集合中全部都只是字符串或数字,还是混合着

4 楼

只是其中一种

5 楼

数字和字符串都能适用

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;
    }

}

我来回复

您尚未登录,请登录后再回复。点此登录或注册