答案 0 :(得分:1)
HashMap是一个由键和值组成的数据结构。值与关联键一起存储在HashMap中。然后可以通过从HashMap中调用您在放入值时使用的相同键来检索这些值。
TreeMaps和LinkedHashMaps是Map的不同版本。 HashMap使用散列来存储其键,而TreeMap使用二叉搜索树来存储其键,而LinkedHashMap使用LinkedList来存储键。如果迭代HashMap,则密钥将以散列排序的顺序返回(在大多数情况下是不可预测的),因为它们是如何存储的。但是,TreeMap有一个包含所有值的树,因此当您遍历树时,您将按实际排序顺序获取所有键。 LinkedHashMap具有有序列表中的键,因此迭代器将按照插入它们的顺序返回键。
在HashMap中,使用键来查找值。如果您有重复的键,HashMap无法知道要返回哪个值。因此,HashMap中的每个键都必须是唯一的,但值不必是。
在普通的HashMap中,对密钥进行哈希处理,然后将其插入适当的位置。使用TreeMap和LinkedHashMap,您需要额外的开销,即将密钥插入树或链表中,这将占用额外的时间和内存。