Java中,在HashMap可以用put(Key, Value)添加元素, 如何在LinkedHashMap中添加(Key, Value)?

Java中,在HashMap可以用put(Key, Value)添加元素, 如何在LinkedHashMap中添加(Key, Value)?,第1张

和HashMap方法一样,也是用put添加元素,LinkedHashMap也是java.util.Map的实现类

区别在于

Hashmap 是一个最常用的Map,它根据键宏掘的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。 HashMap最多只允许一条记录的键为Null允许多条记录的值为 NullHashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap可能会导致数据的不一致。如果需要同步,可以用 Collections的synchronizedMap方法使HashMap具有同步的能力,或者使用ConcurrentHashMap。

LinkedHashMap 是HashMap的一个子类,保存了记录的插入顺序,在用Iterator遍历LinkedHashMap时,先得到的记录肯定毁肢是先插入的.也可以在构造时用带参数,按照应用次数排序。在遍历的时候会比HashMap慢,不过有种情况例外,当HashMap容量很大,实际数据较少时,遍历起来可能会比 LinkedHashMap慢,因为LinkedHashMap的遍历速度只和实际数据有关,和容量无关,而HashMap的遍历速度和他的容量有关。

TreeMap实现SortMap接口,能够把它保存的记录根据键排序,默认是按键值的升序排序,也可以指定排序的比较器,当用Iterator 遍历TreeMap时蔽余核,得到的记录是排过序的。

首先HashMap是无序的,想要有序可以芦铅用TreeMap,加入元素后自行排序,但是Map是键值对,它就算排序皮盯也是按key排序的,和陪握好元素没关系,如果你期望的是元素的排序,建议使用TreeSet,建立TreeSet的时候指定一个comparator.

如果确定可以使用TreeSet你可以追问,如果不用,HashMap不能排序这是你要的答案


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11985217.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存