首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
java容器
订阅
灵魂猎手
更多收藏集
微信扫码分享
微信
新浪微博
QQ
8篇文章 · 0订阅
数据结构与算法(十四)深入理解红黑树和JDK TreeMap和TreeSet源码分析
今天我们来介绍下非常重要的数据结构:红黑树。 很多文章或书籍在介绍红黑树的时候直接上来就是红黑树的5个基本性质、插入、删除操作等。本文不是采用这样的介绍方式,在介绍红黑树之前,我们要了解红黑树是怎么发展出来的,进而就能知道为什么会有红黑树的5条基本性质。 这样的介绍方式也是《算…
计算机程序的思维逻辑 (43) - 剖析TreeMap
40节介绍了HashMap,我们提到,HashMap有一个重要局限,键值对之间没有特定的顺序,我们还提到,Map接口有另一个重要的实现类TreeMap,在TreeMap中,键值对之间按键有序,TreeMap的实现基础是排序二叉树,上节我们介绍了排序二叉树的基本概念和算法,本节我…
死磕 java集合之PriorityQueue源码分析
优先级队列,是0个或多个元素的集合,集合中的每个元素都有一个权重值,每次出队都弹出优先级最大或最小的元素。 一般来说,优先级队列使用堆来实现。 还记得堆的相关知识吗?链接直达【拜托,面试别再问我堆(排序)了!】。 让我们一起来学习吧。 不知道fast-fail的,查看这篇文章的…
面试加分项-HashMap源码中这些常量的设计目的
之前周会技术分享,一位同事讲解了HashMap的源码,涉及到一些常量设计的目的,本文将谈谈这些常量为何这样设计,希望大家有所收获。 HashMap默认初始化大小为什么是16,这里分两个维度分析,为什么是2的幂,为什么是16而不是8或者32。 我们知道HashMap的底层数据结构…
Java集合总结【面试题+脑图】,将知识点一网打尽!
着重标出的那些就是我们用得最多的容器。 其实,我也不知道要怎么总结好,因为之前写每一篇的时候都总结过了。现在又把他们重新罗列出来好像有点水,所以,我决定去回答一些Java容器的面试题! 当然了,我的答案未必就是正确的。如果有错误的地方大家多多包含,希望不吝在评论区留言指正~~ …
面试必备:LinkedHashMap源码解析(JDK8)
想看我更多文章:【张旭童的博客】http://blog.csdn.net/zxt0601 想来gayhub和我gaygayup:【mcxtzhang的Github主页】https://github.com/mcxtzhang 1 概述 在上文中,我们已经聊过了HashMap,本…
面试必备:HashMap源码解析(JDK8)
本文将从几个常用方法下手,来阅读HashMap的源码。 按照从构造方法->常用API(增、删、改、查)的顺序来阅读源码,并会讲解阅读方法中涉及的一些变量的意义。了解HashMap的特点、适用场景。 如果本文中有不正确的结论、说法,请大家提出和我讨论,共同进步,谢谢。 概括的说,…
并发编程——ConcurrentHashMap#transfer() 扩容逐行分析
ConcurrentHashMap 是并发中的重中之重,也是最常用的数据结果,之前的文章中,我们介绍了 putVal 方法。并发编程之 ConcurrentHashMap(JDK 1.8) putVal 源码分析。其中分析了 initTable 方法和 putVal 方法,但也…