当调用LinkedHashMap.keySet()方法时,返回的Set集合中键的顺序是否与它们添加的顺序相同?
是的。
详见:LinkedHashMap:
这个链表定义了迭代顺序,通常是按照键被插入到映射中的顺序(插入顺序)。
并且从HashMap#keySet文档中可以看出:
返回的集合由映射支持,因此对映射的更改会反映在集合中,反之亦然。
Set
,但它没有实现 SortedSet
,我提供了一个例子。 - Armand是的。唯一的例外是,当一个键被重新插入时,它会按照它最初插入到列表中的顺序出现。
put(key, value)
时,就会出现这种情况。(Java文档已经清楚地解释了这一点。) - Stephen C