Java理解Map
来源:互联网 发布:c语言实现socket编程 编辑:程序博客网 时间:2024/05/18 19:18
标准的Java类库中包含了Map的几种基本实现,包括:HashMap,TreeMap,LinkedHashMap,WeakHashMap,ConcurrentHashMap,IdentityHashMap。它们都有同样的基本接口Map,但是行为特性各不相同,这表现在效率、键值对的保存及呈现次序、对象的保存周期、映射表如何在多线程程序中工作和判定“键”等价的策略等方面。
下面是基本的Map实现的比较。在Hash上打星号表示如果没有其他的限制它就应该成为默认选择,因为它对速度进行了优化,其他实现强调了其他的特性,因此都不如HashMap快。
HashMap* Map基于散列表的实现(它取代了Hashtable)。插入和查询“键值对”的开销是固定的。可以通过构造器设置容量和负载因子,以调整容器的性能。LinkedHashMap 类似于HashMap,但是迭代遍历它时,取得“键值对”的顺序是其插入次序,或者是最近最少使用(LRU)的次序,只比HashMap慢一点,而在迭代访问时反而更快,因为它是用链表维护内部次序
TreeMap 基于红黑树的实现。查看“键”或“键值对”时,它们会被排序。TreeMap的特点在于,所得到的结果是经过排序的。TreeMap是唯一的带有subMap()方法的Map,它可以返回一个字数
WeakHashMap 弱键映射,允许释放映射所指向的对象。这是为解决某类特殊问题而设计的。如果映射之外没有引用指向某个“键”,则此“键”可以被垃圾收集站回收。
ConcurrentHashMap 一种线程安全的Map,它不涉及同步加锁。
IdentityHashMap 使用==代替equals()对“键”进行比较的散列映射。
0 0
- Java理解Map
- java Map set list 理解
- 深入理解Java中的Map
- java中Map类的理解
- 关于Java中的map的理解
- 对JAVA中Map的理解
- Java 集合理解(List;Set;Map)
- Map 理解
- Map理解
- 理解mAP
- 深入理解java映射map的底层操
- Java 集合深入理解(14):Map 概述
- 由浅入深理解java集合(五)——集合-Map
- java 中的 set以及集合,map,list等的理解
- VBA中的数据字典,可以理解为Java中的Map
- Java 集合深入理解(14):Map 概述
- Java 集合深入理解(14):Map 概述
- java Map Map.Entry
- POJ 2763 Housewife Wind 树链剖分 边权
- TCP/IP协议与OSI协议
- GCC编译参数
- 白盒
- 工作
- Java理解Map
- 获取当前日期
- LEETCODE-Excel Sheet Column Number
- @Qualifier注解
- linux下建立一个c++工程
- 国内好用的免费DNS服务器
- 第十一章 事务和锁
- Android Studio使用新的Gradle构建工具配置NDK环境
- 现实格言