Collection的常用方法

如图:
这里写图片描述

1)ArrayList

import java.util.ArrayList;
import java.util.Collection;

public class CollectionDemo {

    public static void main(String[] args) {
       Collection  coll=new ArrayList();//内存当中有一个容器
       show(coll);


    }
    public  static  void show(Collection coll){
        /*
        * 1,添加元素 add
        */
        coll.add("abc1");
        coll.add("abc2");
        coll.add("abc3");

        System.out.println(coll);


    }
}

2)boolean b = c1.containsAll(c2) //b是否包含c中的所有元素

import java.util.ArrayList;
import java.util.Collection;

public class C21 {
    public static void main(String[] args) {
        Collection c1 = new ArrayList();
        Collection c2 = new ArrayList();
        show(c1, c2);
    }

    public static void show(Collection c1, Collection c2) {
        //给c1添加元素
        c1.add("abc1");
        c1.add("abc2");
        c1.add("abc3");
        c1.add("abc4");

        //给c2添加元素
        c2.add("abc2");

        boolean b = c1.containsAll(c2); //当

        System.out.println("containsAll:" + b);
    }
}

需注意,如果b=[abc,ef], d=[a],则System.out.println(“containsAll:” + b)的输出值为false,因为b中的有两个元素,abc,ef;d中有一个元素a。

3)iterator方法

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class IteratorDemo {
    public static void main(String[] args) {
        Collection coll=new ArrayList();
        coll.add("abcd1");
        coll.add("abcd2");
        coll.add("abcd3");
        coll.add("abcd4");

        System.out.println(coll);

        //使用了Collection中的iterator方法,调用集合中的迭代器方法,是为了获取集合中的迭代器对象
        Iterator it =coll.iterator();

        while (it.hasNext()){
            System.out.println(it.next());
        }
/*      System.out.println(it.next());//取到第一个元素
        System.out.println(it.next());//取到第二个元素
        System.out.println(it.next());//取到第三个元素
        System.out.println(it.next());*/



    }
}

输出如下图:
这里写图片描述
其中(循环结束后it还可以用)

        Iterator it =coll.iterator();

        while (it.hasNext()){
            System.out.println(it.next());
        }

也可以写成(最好写成这样,但是(循环结束后it不可以用))

        for(Iterator it=coll.iterator();it.hasNext(); ){
            System.out.println(it.next());

contains与containsALL的区别
1, arrayList的contains方法比较是否包含元素的时候,调用的是 对象的equals方法,也就是说如果对象没有重写equals方法,那么其实比较的事堆中的地址是否相等了。
这里写图片描述

这里写图片描述

补充:
List

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

public class ListDemo {
    public static void main(String[] args) {
        List list = new ArrayList();
        // show(list);
        list.add("abc1");
        list.add("abc2");
        list.add("abc3");
        ListIterator it = list.listIterator();//获取列表迭代器对象
        //它可以在迭代过程中完成对元素的增删改查
        //注意,只有list集合具备该迭代功能    
        while (it.hasNext()) {
            Object obj = it.next();
            if (obj.equals("abc2")) {
                it.set("abc9");
            }
        }System.out.println("list:" + list);



        /*Iterator it=list.iterator();//迭代过程
        while(it.hasNext()){
            Object obj=it.next();//java.util.ConcurrentModificationException
            //在迭代过程中,不要使用集合操作元素,容易出现异常
            //可以使用Iterator接口的子接口ListIterator来完成迭代中对元素进行更多的操作
            if(obj.equals("abc2")){
                list.add("abc9");//集合操作元素
            }
            else
                System.out.println("next:"+obj);
        }
            System.out.println("next"+it.next());
           }*/
/*
    public static void show(List list) {
        //给c1添加元素
        list.add("abc1");
        list.add("abc2");
        list.add("abc3");


        Iterator it=list.iterator();
        while(it.hasNext()){
            System.out.println("next"+it.next());
        }
        //list特有的取出元素的方法之一。
        for(int x=0;x<list.size();x++){
        System.out.println("get"+list.get(x));
            }
    }*/


    }
}

猜你喜欢

转载自blog.csdn.net/nsjlive/article/details/79217921