集合

本文介绍了Java集合框架中的Collection接口及其常用方法,如add、remove和iterator等。对比了Collection与数组的区别,并展示了ArrayList的使用,包括增删查改操作及遍历方式。还提到了List接口的特点和额外方法,以及ArrayList的内部实现和性能特点。
摘要由CSDN通过智能技术生成

一、概念:
对象的容器,实现对对象常规的一些操作,类似数组的功能。
二、和数组的区别:
1、长度不定,数组长度一定。
2、数组可以存储基本数据类型,集合可以存储引用数据类型。

Collection父接口

在这里插入图片描述

Collection方法
add()添加一个元素
addAll()将一个集合中的所有对象添加到此集合中
clear()清空此集合中所有对象
size()返回此集合中的元素个数
toArray将此集合转换为数组
contains(Object a)检查此集合中是否包含a对象
equals(Object a)比较此集合是否与指定对象相等
isEmpty()判断此集合是否为空
remove(Object a)在此集合中移除a对象
removeAll(Collection< a> x)在此集合中移除集合a中也包含的对象(取补集)
retainAll(Collection< b> x)在此集合中保留集合b中也包含的对象(取交集)
iterator()返回在此集合元素上进行迭代的迭代器

Collection接口的使用

  public static void main(String[] args) {
        Collection collection = new ArrayList();
        //-添加元素
        collection.add("111");
        collection.add("你好");
        collection.add("aaa");
        System.out.println("元素个数"+":"+collection.size());
        System.out.println(collection);
       //- 删除元素
        collection.remove("111");
        System.out.println(collection);
        System.out.println("删除元素个数"+":"+collection.size());
        //- 遍历元素
        //1、增强for
        for (Object object:collection){
            System.out.println(object);
        }
        //2、迭代器(专门遍历接口的方式)
        //hasNext()是否有下个元素
        //next()下一个元素
        //删除当前元素
        Iterator it = collection.iterator();
        while (it.hasNext()){
            System.out.println(it.next().toString());
            //迭代过程中不能使用删除collection.remove删除方法
            //使用迭代器的remove()删除方法可以删除
            it.remove();
        };
        //- 判断(如果为空为true)
        System.out.println(collection.isEmpty());
    }

List接口的使用

  • 有序、有下标、元素可以重复
方法与Collection不同的地方
void add(int index,Object 0)可以通过下标方式向list集合中添加一个元素
boolean addAll(int index,Collection c)将一个集合中的所有对象添加到此集合中
Object get(int index)通过下标获取集合中指定元素
list subList(int fromIdex,int toindex)获取指定下标区间的元素
listlistIterater ()列表迭代器

**listlistIterater ()
在这里插入图片描述

        List list = new ArrayList();
        //-添加元素
        list.add("111");
        list.add("你好");
        list.add("aaa");
        //for循环
        for (int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }
        //增强for
        for(Object o:list){
            System.out.println(o);
        }
        //迭代器
        Iterator it = list.iterator();
        while (it.hasNext()){
            System.out.println(it.next().toString());
        }
        //列表迭代器
        ListIterator it1 = list.listIterator();
        while (it1.hasPrevious()){//逆向遍历
            System.out.println(it1.next().toString());
        }
        //列表迭代器
        ListIterator it2 = list.listIterator(1);//指定下标位置
        while (it2.hasPrevious()){//逆向遍历
            System.out.println(it1.next().toString());
        }

List的实现类

ArrayList

  • 内部本身实际采用数组方式存储,查询块、增删慢。

参考学习视频:https://www.bilibili.com/video/BV1zD4y1Q7Fw

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值