Java集合之Collection

什么是集合?

集合是用来存放某一类对象的容器。

集合主要分为两大系列:Collection和Map,Collection 表示一组对象,Map表示一组映射关系或键值对。

Collection的实现

以上是一个简单的类图,从图中可以看出Collection是众多集合类的根接口(当然它之上还有Iterable接口),在JDK中不提供这个接口的任何直接实现:而是提供了更具体的子接口(如 List、Queue和Set)的实现。

Collection中的方法

 Collection接口中提供了集合操作的一些基本方法

int size();  查询集合大小
boolean isEmpty(); 判断集合是否为空
boolean contains(Object o);  判断集合包含
boolean containsAll(Collection<?> c);  判断集合全包含
Iterator<E> iterator(); 迭代遍历(实现Iterable接口)
Object[] toArray(); 将集合转换为数组
boolean add(E e);  像集合中添加元素
boolean addAll(Collection<? extends E> c); 像一个集合中添加另一个集合的所有元素
boolean remove(Object o); 从集合中删除元素
default boolean removeIf(Predicate<? super E> filter); 如果存在则删除

removeIf方法解析

removeIf方法在Collection中有默认的实现方法,在其子类中又会有不同的实现方法,以下只对Collection接口中的removeIf做一个简单的解析

default boolean removeIf(Predicate<? super E> filter) {
        // 判断入参非空
        Objects.requireNonNull(filter);
        // 给定一个标志位,用于返回结果,如果存在元素删除,则返回true,否则false
        boolean removed = false;
        // 利用Iterator迭代器进行迭代
        // 这个地方其实也是面试的一个考点,在集合中删除元素究竟有什么坑?
        final Iterator<E> each = iterator();
        // 如果存在下一个元素则继续遍历
        while (each.hasNext()) {
            // 判断元素是否存在
            if (filter.test(each.next())) {
                // 如果存在则删除,将标志位置为true
                each.remove();
                removed = true;
            }
        }
        return removed;
    }

 好了~  以上就是对集合的顶层接口进行的一个简单解析,它的各个实现类会在后面的文章中和大家一起学习!!

让我们一起从零开始学Java,共同进步,欢迎大家批评指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骑着猪猪去旅行A

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值