集合、Collection接口特点和常用方法

1、集合介绍

对于保存多个数据使用的是数组,那么数组有不足的地方。比如,

  • 长度开始时必须指定,而且一旦制定,不能更改。

  • 保存的必须为同一类型的元素。

  • 使用数组进行增加/删除元素的示意代码,也就是比较麻烦。

为了解决数组这些不足之处,那么就可以引出集合来处理。下面先说一下集合的好处。

  • 可以动态保存任意多个对象,使用比较方便。

  • 提供了一系列方便的操作对象:add、remove、set、get等。

  • 使用集合添加或删除新元素,代码简洁。

集合体系图如下,Collection是单列接口,Map是双列接口。虚线可以看成实现关系,实线可以看成继承关系。

2、Collection接口实现类的特点

public interface Collection<E>extends Iterable<E>

  • Collection实现子类,可以存放多个元素,每个元素可以是Object。

  • Collection的实现类,有些是有序地(List),有些不是有序(Set)。

  • 有些Collection的实现类,可以存放重复的元素,有些不可以。

  • Collection接口没有直接的实现子类,是通过它的子接口Set和List来实现的。

3、Collection接口常用方法。

以实现子类ArraysList来演示。

方法总结:

add()  // 添加单个元素

remove() //删除指定元素

contains() //查找元素是否存在

size() //获取元素个数

isEmpty() //判断是否为空

clear() //清空

addAll() //添加多个元素

contains All() //查找多个元素是否都存在

removeAll() //删除多个元素

//由于接口不能直接被实例化,只有实现了接口的类才能被实例化,所以这里我们使用ArrayList
        //使用List接口接收
        List list = new ArrayList();
        //add() 添加单个元素
        list.add("jack");
        list.add("marry");
        list.add("smith");
        System.out.println(list);//[jack, marry, smith]
        //remove() 删除指定元素
        list.remove("jack");
        System.out.println(list);//[marry, smith]
        //contains() 查找元素是否存在
        System.out.println(list.contains("jack"));//false
        //size() 获取元素个数
        System.out.println(list.size());//2
        //isEmpty() 判断是否为空
        System.out.println(list.isEmpty());//false
        //clear() 清空
        list.clear();
        System.out.println(list.isEmpty());//true
        //addAll() 添加多个元素
        List list1 = new ArrayList();
        list1.add(1);
        list1.add("终极笔记");
        list1.add("老九门");
        list.addAll(list1);
        System.out.println(list1);//[1, 终极笔记, 老九门]
        // containsAll() 查找多个元素是否都存在
        System.out.println(list1.containsAll(list1));//true
        //removeAll() 删除多个元素
        list1.removeAll(list1);//true
        System.out.println(list1.size());//0

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值