赞
踩
Map接口下有两个实现类,分别是HashMap,HashTable,一个子接口SortedMap。
其中:
LinkedHashMap继承了HashMap
TreeMap实现了SortedMap
Properties继承了HashTable
HashMap: 基于哈希表的Map接口实现,是一个键值对的集合,允许使用null值和null键,其键是无序的,并且是唯一的,类似于set集合,值是有序的,并且可以重复,类似于list,其底层数据结构是hash表。
LinkedHashMap: HashMap是无序的,迭代HashMap所得到的元素的顺序并不是放到HashMap中的顺序,即并不能确保他们的插入顺序。LinkedHashMap继承于HashMap,是HashMap和LinkedHash的结合体,具备两者的特性,LinkedHashMap中每一个entry多了一个before和after指针,用于实现双向链表,每次put操作都会将元素插入到双向链表的尾部。
HashTable: HashTable是线程安全的,底层是一个hash表,任何非null的对象都可以用作键和值,其效率相对于HashMap来说低一些。HashTable在各个对数据进行操作的方法上加了synchronized关键字,用于实现同步操作。
Properties: Properties继承于HashTable,其表示一个持久的属性集,属性列表中每一个键及其对应的值都是一个字符串。
SortedMap: SortedMap是Map接口的一个子接口,提供有序的Map实现。
TreeMap: 实现了SortedMap接口,保证了有序性,默认按照key的值进行升序排序,也可以重写comparator方法根据value进行排序。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。