Java基础(集合类Collection和List)

一、集合类概述

作用:面向对象语言对事物的体现都是以对象的形式,集合类方便对多个对象进行存取操作。

       注意:集合类和数组虽然同属于容器,集合可以存储对象,但是长度是固定的,集合的长度可以改变。数组可以存储基本数据类型,集合只能存储对象类型(类类型)。

二、Collection接口

  • 常用方法:

注意:Collection是接口,无法直接创建对象,需要使用它的子类对象ArrayList

示例:

        Collection list=new ArrayList();
        //添加元素的方法,返回true或false
        System.out.println(list.add("yyy"));
        System.out.println(list.add("wtc"));
        System.out.println("打印集合"+list);
        //返回集合的长度
        System.out.println(list.size());
        //删除指定元素,返回true或false
        list.remove("yyy");
        //判断是否包含指定元素,返回true或false
        System.out.println(list.contains("wtc"));
        //清空集合
        list.clear();
        //判断集合是否为空,返回true或false
        System.out.println(list.isEmpty());

运行结果:

  • 集合批量操作方法

示例:

        Collection list1=new ArrayList();
        list1.add("111");
        list1.add("222");
        Collection list2=new ArrayList();
        list2.add("aaa");
        list2.add("bbb");
        list2.add("111");
        Collection list3=new ArrayList();
        list3.add("aaa");
        //判断list2中是否包含list3中的所有元素
        System.out.println(list2.containsAll(list3));
        //移除交集
        list2.removeAll(list1);
        System.out.println("list2"+list2);
        //只留下交集
        list3.retainAll(list2);
        System.out.println("list3"+list3);
        //把list2中的元素全部添加到list1中
        list1.addAll(list2);
        System.out.println("list1"+list1);

运行结果:

  • Collection遍历方式
        Collection list=new ArrayList();
        list.add("yyy");
        list.add("wtc");
        //第一种使用数组
        Object[] os=list.toArray();
        for(int i=0;i<os.length;i++)
            System.out.println(os[i]);
        //第二种使用迭代器
        Iterator it =list.iterator();
        while(it.hasNext()){
            System.out.println(it.next());
        }
        //第三种使用增强for
        for(Object o:list)
            System.out.println(o);

运行结果:

三、List接口

概述:List所代表的是有序的Collection,即它用某种特定的插入顺序来"维护元素顺序"。可以对列表中每个元素的插入位置进行精             确控制,也可以根据索引访问元素,并搜索元素。

  • 常用操作方法:

示例:

        List list=new ArrayList();
        list.add("yyy");
        list.add("wtc");
        //list特有的方法
        list.add(0,"abc");
        //获取指定下标的元素
        Object o=list.get(0);
        System.out.println(o);
        //移除指定下标的元素,返回被删除的元素
        list.remove(0);
        //设置指定元素下标的值
        list.set(0,"yw");
        System.out.println(list);

运行结果:

  • List遍历方法
        List list=new ArrayList();
        list.add("yyy");
        list.add("wtc");
        /*第一种使用迭代器进行遍历*/
        //获取到迭代器
        ListIterator it=list.listIterator();
        System.out.println("向后遍历:");
        while(it.hasNext()){
            System.out.println(it.next());
        }
        System.out.println("向前遍历:");
        while(it.hasPrevious()){
            System.out.println(it.previous());
        }
        /*第二种用增强for*/
        for(Object o:list){
            System.out.println(o);
        }
        /*第三种for循环*/
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }

运行结果:

  • 迭代器修改
        List list=new ArrayList();
        list.add("yyy");
        list.add("wtc");
        ListIterator it=list.listIterator();
        while(it.hasNext()){
            Object o=it.next();
            if(o.equals("yyy"))
                it.add("❤");
                //list.add("❤");运行时会报错
        }
        System.out.println(list);

运行结果:

发布了75 篇原创文章 · 获赞 164 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/qq_41679818/article/details/96333833