首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
集合
订阅
waltz
更多收藏集
微信扫码分享
微信
新浪微博
QQ
16篇文章 · 0订阅
LinkedHashMap 底层分析
众所周知 HashMap 是一个无序的 Map,因为每次根据 key 的 hashcode 映射到 Entry 数组上,所以遍历出来的顺序并不是写入的顺序。 因此 JDK 推出一个基于 HashMap 但具有顺序的 LinkedHashMap 来解决有排序需求的场景。 它的底层…
[译文] 初学者应该了解的数据结构:Array、HashMap 与 List
当开发程序时,我们(通常)需要在内存中存储数据。根据操作数据方式的不同,可能会选择不同的数据结构。有很多常用的数据结构,如:Array、Map、Set、List、Tree、Graph 等等。(然而)为程序选取合适的数据结构可能并不容易。因此,希望这篇文章能帮助你了解(不同数据结…
和我一起读Java8 LinkedList源码
书接上一篇ArrayList源码解析,这一节继续分析LinkedList在Java8中的实现,它同样实现了List接口,不过由名字就可以知道,内部实现是基于链表的,而且是双向链表,所以Linked List在执行像插入或者删除这样的操作,效率是极高的,相对地,在随机访问方面就弱…
List集合就这么简单【源码剖析】
前一篇已经讲了Collection的总览:Collection总览,介绍了一些基础知识。 底层数据结构是数组。线程不安全 底层数据结构是链表。线程不安全 底层数据结构是数组。线程安全 第一次扩容后,如果容量还是小于minCapacity,就将容量扩充为minCapacity。 …
搞懂 Java LinkedList 源码
由于最近工作有点忙,进行了 APP 的部分优化,期间也学习了很多有关于布局优化和其他性能优化的知识,但是仍然觉得不太成体系,期待能有更多的优质的性能优化实战文章能够涌现出来,以便于大家一起交流学习。 周末有时间把手头的工作放一放,来继续进行 Java 集合源码的学习。今天来学习…
Java集合(1)一 集合框架
集合在任何语言中都是比较重要的基础知识,不同的集合在实现上采用了各种不同的数据结构,导致了各个集合的性能以及使用方式上存在很大差异,深入了解集合框架的整体结构以及各个集合类的实现原理,并灵活使用各个集合对编码有很大帮助。 本系列文章从集合框架的整体设计到源码细节分析了java.…
Java集合(5)一 HashMap与HashSet
HashMap<K,V>和TreeMap<K,V>都是从键映射到值的一组对象,不同的是,HashMap<K,V>是无序的,而TreeMap<K,V>是有序的,相应的他们在数据结构上区别也很大。 HashMap<K,V>在键的数据结构上采用了数组,而值在数据结构上采用了链表或红黑…
深入理解HashMap(jdk8)
因为主要说的是1.8版本中的实现。而1.8中HashMap是数组+链表+红黑树实现的,大概如下图所示。后面还是主要介绍Hash Map中主要的一些成员以及方法原理。 那么上述图示中的结点Node具体类型是什么,源码如下。Node是HashMap的内部类,实现了Map.E…
HashMap中傻傻分不清楚的那些概念
很多人在通过阅读源码的方式学习Java,这是个很好的方式。而JDK的源码自然是首选。在JDK的众多类中,我觉得HashMap及其相关的类是设计的比较好的。很多人读过HashMap的代码,不知道你们有没有和我一样,觉得HashMap中关于容量相关的参数定义的太多了,傻傻分不清楚。…
Java 集合系列4、家喻户晓之HashMap(上)
从依赖关系上面来看,HashMap 并没有 List 集合 那么的复杂,主要是因为在迭代上面,HashMap 区别 key-value 进行迭代,而他们的迭代又依赖与keySet-valueSet 进行,因此,虽然依赖关系上面HashMap 看似简单,但是内部的依赖关系更为复杂…