关于Java的库地图类的问题?

时间:2017-03-23 20:55:39

标签: java data-structures hashmap maps treemap

答案是(2)和(4)但不确定原因。我对这些主题没有多少基础。有人可以解释为什么这些是正确答案以及为什么其他人不正确。 谢谢 enter image description here

1 个答案:

答案 0 :(得分:1)

HashMap是一个由键和值组成的数据结构。值与关联键一起存储在HashMap中。然后可以通过从HashMap中调用您在放入值时使用的相同键来检索这些值。

1

TreeMaps和LinkedHashMaps是Map的不同版本。 HashMap使用散列来存储其键,而TreeMap使用二叉搜索树来存储其键,而LinkedHashMap使用LinkedList来存储键。如果迭代HashMap,则密钥将以散列排序的顺序返回(在大多数情况下是不可预测的),因为它们是如何存储的。但是,TreeMap有一个包含所有值的树,因此当您遍历树时,您将按实际排序顺序获取所有键。 LinkedHashMap具有有序列表中的键,因此迭代器将按照插入它们的顺序返回键。

2,3和5

在HashMap中,使用键来查找值。如果您有重复的键,HashMap无法知道要返回哪个值。因此,HashMap中的每个键都必须是唯一的,但值不必是。

4

在普通的HashMap中,对密钥进行哈希处理,然后将其插入适当的位置。使用TreeMap和LinkedHashMap,您需要额外的开销,即将密钥插入树或链表中,这将占用额外的时间和内存。