TreeMap中的元素默认按照keys的自然排序排列

1. 构造函数
TreeMap(): 创建一个空的TreeMap ,keys按照自然排序
TreeMap(Comparator comparator) 创建一个空TreeMap,按照指定的comparator排序
TreeMap(Map m) :由给定的map创建一个TreeMap,keys按照自然排序

2.增加元素
put(K key,V value) 将指定的映射放入该TreeMap中
putAll(K key,V value) 将指定的Map 放入该TreeMap中

3 删除元素
Void clear(): 清空TreeMap中的所有元素
V remove(K k): 移除key为key的映射

4 查找元素
boolean containsKey(Object key) : 判断该TreeMap中是否包含指定Key的映射
boolean containsValue(Object value) :判断该TreeMap中是否包含指定value的映射
Map.Entry<K,V> firstEntry: 返回该map的第一个映射
K firstKey() : 返回该Map的第一个映射的key
Map.Entry<K,V> lastEntry: 返回该TreeMap的最后一个(最大的)映射
K lastKey() :返回该TreeMap的最后一个(最大的)映射的key

V get(K key) :返回指定key对应的value

5 遍历接口
Set<Map<K,V>> entrySet() 返回该TreeMap中所有的映射组成的set对象
Collect<V> values() 返回由该TreeMap中所有的values构成的集合

普通for循环
for(Map.Entry entry: treeMap.entrySet){
system.out.println(entry)
}

迭代器循环
Iterator iterator = treeMap.entrySet().iterator();
while(iterator.hasNext()){
system.out.println(iterator.next())
}

6 其他
int size() 返回该TreepMap中包含的映射的数量

HashMap可实现快速存储和检索,但其缺点是其包含的元素是无序的,这导致它在存在大量迭代的情况下表现不佳。
TreeMap能便捷的实现对其内部元素的各种排序,但其一般性能比前两种map差。

六、TreeMap的使用 及其源码解析的更多相关文章

  1. Spring系列(六):Spring事务源码解析

    一.事务概述 1.1 什么是事务 事务是一组原子性的SQL查询,或者说是一个独立的工作单元.要么全部执行,要么全部不执行. 1.2 事务的特性(ACID) ①原子性(atomicity) 一个事务必须 ...

  2. Java8线程池ThreadPoolExecutor底层原理及其源码解析

    小侃一下 日常开发中, 或许不会直接new线程或线程池, 但这些线程相关的基础或思想是非常重要的, 参考林迪效应; 就算没有直接用到, 可能间接也用到了类似的思想或原理, 例如tomcat, jett ...

  3. 二、LinkList及其源码解析

    1.链表介绍 链表是一种物理单元上非连续,非顺序的存储结构.链表由一系列的姐点组成,结点可以在运行时动态生成.每个结点包含两个部分,一个是存储数据元素的数据域,一个是存储下一个结点的指针域 双链表是链 ...

  4. 一 ArrayList 及其源码解析

    1.数组介绍 因为数组在存储数据时是按顺序存储的,存储的内存也是连续的,所以其特点是读取数据比较容易,插入删除比较困难 2.arraylist源码分析 1)构造方法(默认容量为10) 2)插入数据 扩 ...

  5. 五、HashMap的使用 及其源码解析

    HashMap的底层实现原理?领接表(数组+链表)hash表数组+链表+红黑树 链表:查找慢 插入 删除快红黑树:查找快 插入 删除慢 HashMap是线程安全的吗?不是线程安全的 在什么情况下 ,是 ...

  6. Java 集合系列12之 TreeMap详细介绍(源码解析)和使用示例

    概要 这一章,我们对TreeMap进行学习.我们先对TreeMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeMap.内容包括:第1部分 TreeMap介绍第2部分 TreeMa ...

  7. 给jdk写注释系列之jdk1.6容器(7)-TreeMap源码解析

    TreeMap是基于红黑树结构实现的一种Map,要分析TreeMap的实现首先就要对红黑树有所了解.      要了解什么是红黑树,就要了解它的存在主要是为了解决什么问题,对比其他数据结构比如数组,链 ...

  8. TreeMap源码解析

    1.TreeMap介绍 TreeMap是一个通过红黑树实现有序的key-value集合. TreeMap继承AbstractMap,也即实现了Map,它是一个Map集合 TreeMap实现了Navig ...

  9. Celery 源码解析六:Events 的实现

    在 Celery 中,除了远程控制之外,还有一个元素可以让我们对分布式中的任务的状态有所掌控,而且从实际意义上来说,这个元素对 Celery 更为重要,这就是在本文中将要说到的 Event. 在 Ce ...

随机推荐

  1. java如何获取访问真实IP地址?

    java如何获取访问真实IP地址 解决方法: 获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址,如果没有代理,则获取真实ip public static String getIp( ...

  2. Qt编写控件属性设计器9-数据库采集

    一.前言 数据库作为数据源,在很多组态软件中使用非常多,指定数据库类型,填写好数据库连接信息,指定对应的数据库表和字段,采集间隔,程序按照采集间隔自动采集数据库数据,绑定到界面上的控件赋值显示即可.使 ...

  3. Python扫描器-常用库-Request

    1.常用库-Request 1.1. 介绍 #安装:pip3 install requests #各种请求方式:常用的就是requests.get()和requests.post() >> ...

  4. CentOS 7中安装和配置Promethues

    Prometheus 是什么? Prometheus是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的.随着发展,越来越多公司和组织接受采用Prome ...

  5. lvs整理

    LVS是Linux Virtual Server的简写,即Linux虚拟服务器,是一个虚拟的服务器集群系统.通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能.高可用的服务器群集,它具有良 ...

  6. selenium UI自动化解决验证码的五种方法

    TesseractPy3.py #coding=utf-8 import os import subprocess import traceback import logging from PIL i ...

  7. go基础系列 第二章 go指针

    一. 指针 先来看一段代码 var pa *int pa = &a *pa = fmt.Println(a) 这里定义了一个int类型的变量a, 有定义了一个指针类型的变量pa, 让pa指向了 ...

  8. 解决无/var/log/messages 问题

    转载于:https://blog.csdn.net/C_Major/article/details/51321684 1 内核编程insmod后,Ubuntu查看日志无/var/log/message ...

  9. SQLite基础-1.SQL简介

    目录 一.SQLite简介 二.SQLite命令 三.SQLite安装 在 Windows 上安装 SQLite 四.SQLite 点命令 一.SQLite简介 最近在使用Python+Flask框架 ...

  10. C++Primer 5th Chap5 Statements

    else语句对应的始终是最近的那条if语句,除非有{}强行控制,如: if(A){ if(B){/*.............*/} }else{/*.......*/}//这里else和if(A)对 ...