欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

(62)集合概括、Collection共性方法

程序员文章站 2022-03-21 17:04:44
...

一、为什么出现集合类?
面向对象语言对事物的体现都是对象的形式,所以为了方便对多个对象的操作
就对对象进行存储,集合就是存储对象最常用的一种方式。

二、数组和集合类同是容器,有何不同?
数组虽然也可以存储对象,但是长度是固定的。
数组中可以存储基本数据类型
三、集合类的特点

集合只能存储对象,集合长度是可变的,集合可以存储不同类型的对象

(62)集合概括、Collection共性方法
四、Collection接口,ArrayList实现了这个接口,下面对Collection中的共性方法进行学习
add方法的参数类型是Object,多态的体现,以便于接收任意类型对象。

集合中存储的都是对象的引用(地址)

(62)集合概括、Collection共性方法

//创建一个集合容器,使用Collection接口的子类:ArrayList
                ArrayList al=new ArrayList();

                //添加元素
                al.add("java01");//add(Object obj)是obj的原因是:集合元素类型不确定,多态的体现
                al.add("java02");
                al.add("java04");
                al.add("java05");
                //删除元素
                //al.remove("java02");//参数为元素
                al.remove(1);//参数为下标
                //al.clear();清空

                //获取集合长度
                sop(al.size());

                //是否存在某个元素indexOf(Object obj)获得特定元素的下标
                sop("获取java04的集合下标:"+al.indexOf("java04"));
                //sop("集合中包含Java03吗?"+((al.indexOf("java03")!=-1)?true:false));

                //判断是否含某个元素
                sop("该集合中是否含java02:"+al.contains("java02"));

                //判断集合是否为空
                sop("集合为为空?"+al.isEmpty());
                //打印
                sop(al);
    }
    public static void retainAll_method() {
        ArrayList al=new ArrayList();

        al.add("java01");
        al.add("java02");
        al.add("java08");
        al.add("java05");

        ArrayList a2=new ArrayList();
        a2.add("java07");
        a2.add("java08");
        a2.add("java05");
        a2.add("java06");

        //al.retainAll(a2);//求交集,a1中只保留a2有的元素

        al.removeAll(a2);//移除此集合(a1)中那些包含在指定集合(a2)中的元素
        sop("al="+al);
        sop("a2="+a2);
//还有boolean containsAll(Collection c):如果此collection包含指定集合中的元素,返回true
//这些方法的使用方法见Java.util.Collection接口方法

什么是迭代器?
就是集合的取出元素的方式。
就把取出定义在集合的内部,这样取出方式就可以直接访问集合内容的元素,即把取出方式定义成内部类。而每个容器的数据结构不同,那么取出的动作细节也不同,但是都是共性抽取。
共性抽取,说明这些内部类都有一些个规则,这个规则就是Iterator。

如何获取集合中的对象呢?通过一个对外提供的方法iterator();

public static void method_get() {
        ArrayList al=new ArrayList();

        al.add("java01");
        al.add("java02");
        al.add("java04");
        al.add("java05");

        Iterator it=al.iterator();//获取迭代器,用于取出集合中的元素
        while(it.hasNext()) {
            sop(it.next());
        }
        //也可以如下写法
         for(Iterator it1=al.iterator();it1.hasNext();) {
            sop(it1.next());

        }
    }
相关标签: arraylist