Map集合的实现类 您所在的位置:网站首页 treemap查找 Map集合的实现类

Map集合的实现类

#Map集合的实现类| 来源: 网络整理| 查看: 265

 

 

 

 

Map

接⼝的常⽤实现类:

 

1

HashMap

Hashtable

t

是⼩写)

HashMap

不是线程安全的,

key

value

的值都可以是

null

Hashtable

是线程安全的,

key

value

的值都不能是

null

 

HashMap

Hashtable

都是⽆序的。

如果要使⽤⾃定义的类(未继承

Java

⾃带的类)作为

key

,需要重写⾃定义类的

hashCode()

equals()

来保证集合中没有重复的

key

。类名中

hash

的集合,都要这样。

 

因为不必保证线程安全,所以

HaspMap

性能⽐

Hashtable

略⾼。

Hashtable

是很古⽼的⼀个类,命名不规范,问题较多。尽量少⽤

Hashtable

。即使要创建线程安全的

Map

,也尽量不要使⽤

Hashtable

,可

以使⽤

Collections

⼯具类把

HashMap

变成线程安全的。

 

 

 

 

2

LinkedHashMap

LinkedHashMap

HashMap

的⼦类,使⽤⼀个双向链表来维护键值对的顺序(与添加顺序相同),维护的是

key

的顺序。

存储、查找仍是使⽤

hashCode

值来索引,遍历(迭代)才使⽤链表,就是说遍历时的顺序和添加元素的顺序相同。

因为内部维护了⼀个链表,所以查找、存储时

HashMap

性能⾼于

LinkedHashMap

,但遍历集合时

LinkedHashMap

性能较好。

 

 

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有