我知道LinkedHashMap有一个可预测的迭代顺序(插入顺序)。是否Set通过返回LinkedHashMap.keySet()和Collection返回的LinkedHashMap.values()也维持这种秩序?
LinkedHashMap
LinkedHashMap.keySet()
Collection
LinkedHashMap.values()
Map界面提供了三个 集合视图,这些视图允许将地图的内容视为一组键,值的集合或一组键-值映射。该订单的地图被定义为其中在地图上的集合视图迭代返回元素的顺序。某些地图实现(例如TreeMap 类)会对其顺序做出具体保证;其他人,例如 HashMap上课者,则不会。
TreeMap
HashMap
此链表定义了迭代顺序,通常是将键插入映射的顺序(insert-order)。
所以,是的,keySet(),values(),和entrySet()顺序(三组收集的意见中提到)返回值的内部链接列表的用途。是的,JavaDoc支持Map并LinkedHashMap保证它。
keySet()
values()
entrySet()
JavaDoc
Map
毕竟,这就是本课的重点。