Java基础底层-Collection和HashSet底层源码分析

一、Java集合

1. Java集合概述

在这里插入图片描述

从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,称为单列集合,另一种是图(Map),存储键/值对映射,称为双列集合。
Java集合大致可以分为Set、List、Queue和Map四种体系,其中List代表有序、可重复的集合;Set代表无序、不可重复的集合;而Map则代表具有映射关系的集合,Java 5 又增加了Queue体系集合,代表一种队列集合实现。

1. Java集合特点

在这里插入图片描述

二、Collection 底层实现

1. 概述

是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素
JDK 不提供此接口的任何直接实现,它提供更具体的子接口(如Set,List)实现

2. 源码解析

2.1 继承关系
public interface Collection<E> extends Iterable<E> {
   

iterable 接口是java集合大家庭的最顶级的接口之一了,实现此接口使集合对象可以通过迭代器遍历自身元素(迭代器在JDK1.8版本增加了可分割迭代器,更有利于并发处理)

  • iterable 源码拓展
// 返回一个内部元素为T类型的迭代器(JDK1.5只有这个接口)
// iterator()方法,是接口中的核心方法,主要是获取迭代器,获取到的iterator有next(),hasNext(),remove()等方法
Iterator<T> iterator();

// 遍历内部元素,action意思为动作,指可以对每个元素进行操作(JDK1.8添加)
default void forEach(Consumer<? super T> action) {
   }

// 创建并返回一个可分割迭代器(JDK1.8添加),分割的迭代器主要是提供可以并行遍历元素的迭代器,可以适应现在cpu多核的能力,加快速度。
default Spliterator<T> spliterator() {
   
	return Spliterators.spliteratorUnknownSize(iterator(), 0);
}
2.2 成员方法

集合操作的常用方法,方便其他继承Collection的实现类使用

int size();	 /*返回集合的大小 */
boolean isEmpty(); 	/*判断集合是否为空 */
Iterator<E> iterator();		/*返回集合中元素的迭代器 */
boolean add(E e); 	/*添加元素 */
boolean addAll(Collection<? extends E> c); 	/*添加集合C中所有元素 */
boolean remove
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值