JDK源码(一)Collection容器

这篇博客探讨了JDK中Collection容器的设计,重点在于理解其数据存储、获取、添加、遍历以及搜索等核心操作。同时,文章还涉及到了容器的其他特性,如判空、替换、排序、并发控制等,并通过源码解读来深化理解。
摘要由CSDN通过智能技术生成

本质上来说,数据结构,实际上是设计一种容器,而容器的特性大体包括如下:

  • 容器中如何进行存储
  • 容器中的数据如何获取
  • 容器中的数据如何添加  
  • 容器中的数据如何遍历
  • 器中的数据如何搜索
  • 容器中的其他特性(判空,替换,排序,溢出,并发,同步,拆分,汇聚等等)

源码解读

package java.util;

import org.jetbrains.annotations.Contract;

import java.util.function.Predicate;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
public interface Collection<E> extends Iterable<E> {
    /**
     * 定义size方法,应返回size大小,最大值为Integer.MAX_VALUE
     * @return
     */
    int size();
    /**
     * 定义isEmpty方法,用于返回是否为空
     * 如果不包含元素,则返回true
     * @return
     */
    @Contract(pure = true)
    boolean isEmpty();

    /**
     * 定义contains方法,判断一个obj是否属于此集合
     * 如不是集合,则返回true
     * @param o
     * @return
     */
    @Contract(pure = true)
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值