我知道LinkedHashMap有一个可预测的迭代顺序(插入顺序)。Set退货者LinkedHashMap.keySet()和Collection退货者是否LinkedHashMap.values()也保持这个顺序?
LinkedHashMap
Set
LinkedHashMap.keySet()
Collection
LinkedHashMap.values()
Map 接口提供了三个 集合视图 ,它们允许将映射的内容视为一组键、值集合或键值映射集。地图的 顺序 定义为地图集合视图上的迭代器返回其元素的顺序。一些地图实现,比如TreeMap 类,对它们的顺序做出特定的保证;其他人,像 HashMap班级一样,没有。
TreeMap
HashMap
--地图
这个链表定义了迭代顺序,通常是键插入映射 的顺序(插入顺序 )。
-- LinkedHashMap
所以,是的,keySet()、values()和entrySet()(提到的三个集合视图)按照内部链表使用的顺序返回值。是的,JavaDoc 用于Map并LinkedHashMap保证它。
keySet()
values()
entrySet()
Map
毕竟,这就是这门课的重点。