list contains() 与containsAll()

来源:互联网 发布:怎么比对两列数据 编辑:程序博客网 时间:2024/05/21 10:25

对于list的对象是否包含某个对象的时候,可以用contains().

listA对象,listB对象,现在要将两个对象合并,但是两个list可能含有相同的元素,需要剔除。

List<Object> list = new ArrayLis<Object>();

if(listA != null){

Iterator a = listA.iterator();

while(a.hasNext()){

list.add(a.next());

}

}

if(listB != null){

Iterator b = listB.iterator();

while(b.hasNext()){

Object o = (Object)b.next();

if(!list.contains(o)){

list.add(o);

}

}

}


这里必须注意一点,就是为了确保对象的equals()正确执行,所以object的equals()方法必须重写,hascode()一样。

containsAll()方法

public static void main(String[] args) {

    Set set = new HashSet();
    set.add(new Date());   //向列表中添加数据

    set.add("apple");    //向列表中添加数据

    set.add(new Socket());   //向列表中添加数据

    set.add("TV");     //向列表中添加数据

    List list=new ArrayList();

    list.add("apple");    //向列表中添加数据

    list.add("TV");    //向列表中添加数据

    boolean contains = set.containsAll(list);

    if (contains) {

   System.out.println("Set集合包含List集合的内容");

    } else {

   System.out.println("Set集合不包含List集合的内容");

    }

}




0 0