链滴
社区愿景和功能特性
优雅的 Markdown 所见即所得编辑
快捷键交互
随时自由编辑分享内容
支持注销账号来去自由
分布式社区网络
开放 API
产品
Symphony 社区系统(Java)
Solo 博客系统(Java)
Vditor 编辑器(TypeScript)
思源笔记(Electron、Go)
Pipe 博客平台(Vue、Go)
发展计划表
发展简史
榜单
GitHub 仓库排行
帖子打赏排行
Solo 博客端排行
积分排行
活跃度排行
贡献排行
本站基于开源项目 Sym
编程代码问答
登录
注册
首页
>
标签
集合
13
引用 •
8
回帖 •
342
浏览
参与讨论
关注
关注
分享
HashMap
19
引用 •
25
回帖
线程
120
引用 •
111
回帖 •
3
关注
数据结构
88
引用 •
115
回帖 •
4
关注
泛型
6
引用 •
7
回帖
JDK
1
引用 •
2
回帖
demo
4
引用 •
3
回帖
学习
“梦想从学习开始,事业从实践起步” —— 习近平
163
引用 •
473
回帖
默认
热议
好评
优选
最近回帖
关注者
查看所有标签
java 集合总结
先上一张集合家族的结构图,对集合框架有一个整体的认识: 本文出处:[链接] [链接] 对其中的重点进行总结,这样有利于理解与记忆 对于在集合中常用到的泛型: 泛型:就是类型的参数化,泛型是类型的一部分,泛型 + 类名是一个整体。 泛型的通配符(?): 上限限定:比如定义方法的时候出现,public void getFu ..
138
1 年前
Java 集合源码学习
Java 集合源码学习 集中记录 java 中的集合源码以供随时索引和查询。水平有限,请大家勘正。 ArrayList 继承关系图 [图片] 实现了 Cloneable(空接口)代表可以调用 object.clone 方法 实现 Serializable(空接口)接口 代表可以进行序列化和反序列化 实现了 Random ..
224
3 年前
《码出高效》系列笔记(四):数据结构与集合的数组和泛型
[图片] 良好的编码风格和完善统一的规约是最高效的方式。 前言 本篇汲取了本书中较为精华的知识要点和实践经验加上读者整理,作为本系列里的第四篇章第二节:数据结构与集合的数组和泛型篇。 本系列目录: 《码出高效》系列笔记(一):面向对象中的类 《码出高效》系列笔记(一):面向对象中的方法 《码出高效》系列笔记(一):面向 ..
162
4 年前
《码出高效》系列笔记(四):数据结构与集合的框架篇
[图片] 良好的编码风格和完善统一的规约是最高效的方式。 前言 本篇汲取了本书中较为精华的知识要点和实践经验加上读者整理,作为本系列里的第四篇章第一节:数据结构与集合的框架篇。 本系列目录: 《码出高效》系列笔记(一):面向对象中的类 《码出高效》系列笔记(一):面向对象中的方法 《码出高效》系列笔记(一):面向对象中 ..
231
4 年前
Java 基础 - ArrayList 源码
[图片] 最近发现有些源码直接翻译英文注释就可以了,论学好英语的重要性,之后的源码就以翻译注释为主了 继承 [图片] 这些个接口或类基本都认识,不多介绍,主要介绍 RandomAccess 接口; RandomAccess 接口也是一个空接口,作用可以看接口的注释: Marker interface used by L ..
131
4 年前
集合 | 遍历 HashMap 的各种方法
[图片] javaDEMO 本网站记录了最全的各种 JavaDEMO , 基础的, 集合的, spring 的, Mybatis 的等等各种,助力你从菜鸟到大牛,记得收藏哦~~ https://www.javastudy.cloud 遍历 HashMap /** * @Author https://www.javast ..
124
4 年前
学习笔记 |List,Set 和 Map
List 存取的顺序和取出的顺序是一致的,可重复添加 LinkedList 双向链表 实现了 Deque 的接口,可以用操作栈和队列的方式操作 LinkedList 由于是链表,支持高效的插入和删除 增加删除和链表操作是差不多的,get 和 set 的时候判断下表和长度的一半的关系来确定从头部还是尾部进行遍历 Arra ..
872
4 年前
学习笔记 |HashMap 和 ConcurrentHashMap
HashMap 不支持并发操作 HashMap 里面是数组,数组中的每一个元素都是单向链表 特征值 capacity:当前数组容量,始终保持 2^n,可以扩容,扩容后数组大小为当前的 2 倍 loadFactor:负载因子,默认为 0.75,负载因子越接近 1,数组就越密,查找效率低,越小就越疏,数组的利用率就低 th ..
201
4 年前
jdk 源码 --LinkedList
本文基于 jdk1.8_171 LinkedList 介绍 之前看了 ArrayList,内部是一个数组。这次看了 LinkedList,作用和 ArrayList 一样,但是内部是链表形式。链表结构如下图:[图片] 数组和链表的区别 直接看例子: 数组: 假设有 10 个人去看电影,想要挨着坐,那就需要找同一排连续的 ..
109
5 年前
jdk 源码 --ArrayList
本文章基于 jdk1.8_171 ArrayList 介绍 java 中用的最多(个人感觉)的一个集合,内部维护着一个数组,方便,不用像数组一样事先给定大小。 成员变量 private static final int DEFAULT_CAPACTIY = 10; 默认容量,如果新建一个对象时没有指定容量,会新建一个空 ..
138
5 年前
HashMap 常用函数源码解读
[图片] 1.常量信息 //默认容量16,必须是2的幂 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; //最大容量 static final int MAXIMUM_CAPACITY = 1 << 30; //负载因子 即已使用容量超过7 ..
108
5 年前
从源码对比 ArrayList 和 LinkedList
[图片] 1. 存储结构 ArrayList:数组 transient Object[] elementData; LinkedList:链表 transient Node first; transient Node last; 2.扩容 ArrayList:1.5 倍 private void grow(int mi ..
111
5 年前
HashMap 一点记录(JDK 1.7)
JDK 1.8对HashMap改进很多,1.8中已经移除了 Entry 的这种实现方式了,改用了Node,所以存储结构也发生了很大的变化,代码也从1k行膨胀到了2k行,这次梳理的是1.7的 HashMap 实现。1.8 下次再详细看看。 HashMap继承AbstractMap,实现了Map接口。 属性 static ..
396
7 年前