Java笔记之使用EnumMap和TreeMap

java 专栏收录该内容
¥19.90 ¥99.00
30篇文章

使用Enum Map

因为HashMap是一种通过对key计算hashCode(),通过空间换时间的方式,直接定位到value所在的内部数组的索引,因此,查找效率非常高。

如果作为key的对象是枚举类型,那么,还可以使用Java集合库提供的一种EnumMap,它在内部以一个非常紧凑的数组存储value,并且根据枚举类型的key直接定位到内部数组的索引,并不需要计算hashCode(),不但效率最高,而且没有额外的空间浪费。
①使用EnumMap的时候,我们总是用Map接口来引用它,因此,实际上把HashMapEnumMap互换,在客户端看来没有任何区别。
②如果Map的key是枚举类型,推荐使用EnumMap,既保证速度,也不浪费空间。
③使用EnumMap的时候,根据面向抽象编程的原则,应持有Map接口。

使用Tree Map

因为HashMap是一种以空间换时间的映射表,它的实现原理决定了内部的Key是无序的,即遍历HashMap的Key时,其顺序是不可预测的(但每个Key都会遍历一次且仅遍历一次)。
还有一种Map,它在内部会对Key进行排序,这种Map就是SortedMap。注意到SortedMap是接口,它的实现类是Tr

使用Python绘制Treemap 通过使用Treemap,我们可以直观地显示分层数据,并通过矩形的面积来表示数据的相对大小。在本文中,我们将使用Python编程语言来实现Treemap,并展示如何使用matplotlib库创建这样的可视化效果。Treemap需要一个嵌套的层次结构数据,其中每个组都由一个矩形表示。运行上述代码,将生一个Treemap图形,其中每个矩形的面积与其对应值正比。函数需要两个参数:一个包含矩形的位置大小的列表,以及一个包含矩形标签的列表。现在,我们可以使用matplotlib库来创建Treemap图形。 阅读详情

相关推荐

Python_TreeMap_可视化方案数据源(实现代码,请看我博客专栏《机器学习》)

Python_TreeMap_可视化方案数据源(因为不能直接粘贴链接,所以实现代码,请移步看我博客专栏《机器学习》)

python treemap_TreeMap简介

在Map集合框架中,除了HashMap以外,TreeMap也是常用到的集合对象之一。与HashMap相比,TreeMap是一个能比较元素大小的Map集合,会对传入的key进行了大小排序。其中,可以使用元素的自然顺序,也可以使用集合中自定义的比较器来进行排序;不同于HashMap的哈希映射,TreeMap实现了红黑树的结构,形了一颗二叉树。TreeMap继承于AbstractMap,实现了Map,...

weixin_39731782的博客 2418

Python TreeMap可视化方案数据源(实现代码,请看我博客专栏《机器学习》)

Python TreeMap可视化方案数据源(因为不能粘贴链接额,具体实现实现代码,请看我博客专栏《机器学习》:))

Python绘制Tree Map

树状图(Treemap),是用于展现有群组、层次关系的比例数据的一种分析工具,它通过矩形的面积、排列颜色来显示复杂的数据关系,并具有群组、层级关系展现功能,能够直观体现同级之间的比较。

pengbr的博客 1182

java-使用EnumMap

因为HashMap是一种通过对key计算hashCode(),通过空间换时间的方式,直接定位到value所在的内部数组的索引,因此,查找效率非常高。如果作为key的对象是enum类型,那么,还可以使用Java集合库提供的一种EnumMap,它在内部以一个非常紧凑的数组存储value,并且根据enum类型的key直接定位到内部数组的索引,并不需要计算hashCode(),不但效率最高,而且没有额外的空间浪费。我们以DayOfWeek使用EnumMap的时候,我们总是用Map接口来引用它,因此,实际上把。

qq_31098483的博客 875

7.6集合Map之EnumMapTreeMap

EnumMap key的对象类型是enum(枚举)类型,则java集合库提供了EnumMap。 可以根据enum直接定位到内部数组的索引,不需要计算hashCode,效率最高且没有空间浪费。 例: public class Main { public static void main(String[] args) { Map<DayOfWeek, String> map = new EnumMap<>(DayOfWeek.class); map

No_senior_freshman的博客 259

java快速入门-集合篇】- EnumMap & TreeMap

下面是一些Map的附加知识点

foolish的博客 214

Java——(八)Map之LinkedHashMap、TreeMapEnumMap实现类

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 1.LinkedHashMap实现类   LinkedHashMap需要维护意识的插入顺序,因此性能略低于HashMap的性能;但因为它以 链表来维护内部顺序,所以在迭代访问Map里的全部元素时将有较好的性能。下面示范了 LinkedHashMap的功能。 1 impo...

181

Java集合框架(五)—— Map、HashMap、Hashtable、Properties、SortedMap、TreeMap、WeakHashMap、IdentityHashMap、EnumMap...

Map   Map用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里的key,另一组值用于保存Map里的value,keyvalue都可以是任何引用类型的数据。Map的key不容许重复,即同一个Map对象的任何两个key通过equals方法比较总是返回false。   keyvalue之...

郭耀华's Blog | 人工智能领域技术博客 211

Java中的集合Map、HashMap、Hashtable、Properties、SortedMap、TreeMap、WeakHashMap、IdentityHashMap、EnumMap(五)...

Map   Map用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里的key,另一组值用于保存Map里的value,keyvalue都可以是任何引用类型的数据。Map的key不容许重复,即同一个Map对象的任何两个key通过equals方法比较总是返回false。   keyvalue之间存在单向一对一关系,即通过指定的key,总能找到唯一的、确...

WGH100817的博客 136

Map接口之HashSet、Hashtable、LinkedHashMap、TreeMap、WeakHashMap、IdentityHashMap、EnumMap

Map用于保存具有映射关系的数据,Map里保存着两组数据:keyvalue,它们都可以使任何引用类型的数据,但key不能重复。所以通过指定的key就可以取出对应的value。Map接口定义了如下常用的方法: 1、void clear():删除Map中所以键值对。 2、boolean containsKey(Object key):查询Map中是否包含指定key,如果包含则返回true。 3...

weixin_30319153的博客 391

HashMap、TreeMap、HashTable、Properties、EnumMap

Map与List、Set接口不同,它是由一系列键值对组的集合,提供了key到Value的映射。同时它也没有继承Collection。在Map中它保证了key与value之间的一一对应关系。也就是说一个key对应一个value,所以它不能存在相同的key值,当然value值可以相同。实现map的有:HashMap、TreeMap、HashTable、Properties、EnumMap。Map主要...

pengzhisen123的博客 531

Java学习笔记-集合

/remove();移除当前元素//迭代过程中不允许使用collection.remove方法 可以用it.removewhile(it.hasNext()){//hasNext()判断是否有下一个元素//next()返回下一个元素System.out.println(“当前元素:”+collection.size());//判断System.out.println(collection.contains(“西瓜”));//新建collection对象 学生对象。

2401_89284430的博客 861

java map使用

文章目录前言一、Map接口定义了如下常用的方法:二、HashMapHashtable实现类:三、LinkedHashMap:四、TreeMap:五、WeakHashMap:六、IdentityHashMap类:七、EnumMap类: 前言 Map用于保存具有映射关系的数据,Map里保存着两组数据:keyvalue,它们都可以使任何引用类型的数据,但key不能重复。所以通过指定的key就可以取出对应的value 一、Map接口定义了如下常用的方法: 1、void clear():删除Map..

weixin_43258364的博客 1万+

Java—Map集合详解(HashMap/Hashtable/LinkedHashMap/Properties/TreeMap/WeakHashMap/IdentityHashMap/EnumMap

Map Map集合介绍   Map(也称为字典、关联数组)是用于保存具有映射关系的数据,保存两组值,keyvalue,这两组值可以是任何应用类型的数据。   Map的key不允许重复(底层Map的keySet()返回的是key的Set集合,所以key不会重复),即Map中对象的任意两个key通过equals()方法得到的都是false。而,Map的value值是可以重复的(Map的底层value...

Andya_net的博客 806
上一篇: Java笔记之编写hashCode
下一篇: Java笔记之使用Properties
LeBronGod
博客等级 码龄7年 15粉丝 128原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值