java Collection-Map 之 TreeMap
为什么80%的码农都做不了架构师?>>>
TreeMap 内部定义了一个类 static final class Entry<K,V> implements Map.Entry<K,V>,(自平衡红黑二叉树)作为数据存储节点。
put方法先判断根节点是否为空,为空则在跟节点放置数据。
不为空,(调用比较器)将put的key循环比较parent节点的key,并动态修改parent的指向。最终存入数据。
然后fixAfterInsertion 自平衡调整,过程务必会涉及到红黑树的左旋、右旋、着色三个基本操作
红黑树的5点规定
1、每个节点都只能是红色或者黑色
2、根节点是黑色
3、每个叶节点(NIL节点,空节点)是黑色的。
4、如果一个结点是红的,则它两个子节点都是黑的。也就是说在一条路径上不能出现相邻的两个红色结点。
5、从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。
转载于:https://my.oschina.net/sbcagf/blog/782878
java Collection-Map 之 TreeMap相关推荐
- Java Review - 集合框架=Collection+Map
文章目录 概述 容器 = Collection + Map Collection Set TreeSet HashSet LinkedHashSet List ArrayList Vector Lin ...
- java之Map和Collection
java中保存对象的容器可分为两类: 1.Map.Map是以键值对的形式来保存一组对象,可以通过键来查找值. 2.Collection.用来保存独立对象的序列.Collection又可分为三种类型: ...
- Java中Map用法详解
原文地址http://blog.csdn.net/guomutian911/article/details/45771621 原文地址http://blog.csdn.net/sunny2437885 ...
- Java Collection
在 Java2中,有一套设计优良的接口和类组成了Java集合框架Collection,使程序猿操作成批的数据或对象元素极为方便.这些接口和类有非常多对抽象数据类型操作的API,而这是我们经常使用的且在 ...
- Map,HashMap,TreeMap
1. Map Map接口中,键和值一一映射,可以通过键来获取值. 在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做val ...
- Java数据结构Map遍历和排序
map结构和list结合很好用,基本的遍历和排序每次都要查一下,用的不熟练,这里汇总下map的基本遍历和排序,参考的代码如下: package com.vip;import java.util.Arr ...
- Java - Collection
Collection层次结构 Collection [plain] view plaincopy print? 子接口 Set,List 集合中只能放置对象的引用,不能放置原生数据类型, 我们需要使用 ...
- Java集合框架:TreeMap
欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...
- java 遍历map获取下标_java 遍历Map并且获取其中的键值
import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.M ...
- java中map的遍历方法_Java中Map的三种遍历方式
集合中的三种遍历方式,如下代码: import java.util.Collection; import java.util.HashMap; import java.util.Iterator; i ...
最新文章
- Apple Pay及其背后的安全技术
- [VC]WindowProc和DefWindowProc函数
- 递归算法 流程图_什么是算法?如何学习算法?算法入门
- 『数据库』朴实无华且枯燥的数据库文章--关系数据理论
- 她说程序员不懂浪漫,生日宴上惨变单身狗,其实,程序员的浪漫你不懂!
- css hacks (ie6,ie7,ie8,firefox,Chrome)
- leetcode 45 python
- python语言写九九乘法表_怎么使用Python语言写一个九九乘法表?
- jquery 如何插入元素
- 最短路之floy算法
- mysql 主从_mysql主从复制异常中断分析处理
- Qt 基于Google引擎的拼音输入法
- iphone免越狱!使用filza修改设备型号!支持最高ios14.3
- NLP实验一:形式语言和自动机
- 用PROTUES来演示80C51的的16MHZ晶振的示波器演示
- 堆料堆不出电视头部玩家
- 计算机考研需要分数线,计算机考研分数线是多少?
- 因为没有使用有效的安全证书进行签名,该内容已被屏蔽。
- 判断点线位置(结构)
- 论文网站及使用方法(ResearchGate、Sci-Hub等)
热门文章
- 怎么帮java转换成类图_有把java代码直接转成uml类图的工具吗 – 手机爱问
- c语言10000以内的质数,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...
- 虚拟机访问svn服务器超时_SVN卡顿原因及简单修复方法
- 《深入理解Java虚拟机》(第二版)学习1:JVM的内存划分
- 【基础知识】win10常用快捷键
- 【java】暑期需要复习的操作
- Linux内核 题目,《Linux内核完全注释》部分习题答案
- 对AFNetworking的简单封装
- 小程序给视频加默认图片封面,点击播放视频并停止播放上一个视频
- js把for循环出来的数据存入数组