LinkedHashMap中的entermentSet()也保证顺序吗?
2022-08-31 12:17:38
我正在使用linkedHashMap来保证当有人试图访问它时的顺序。但是,当需要迭代它时,使用 entrySet() 返回键/值对是否也能保证顺序?迭代时不会进行任何更改。
编辑:此外,通过迭代映射的键并调用 get 来迭代映射是否有任何不利影响?
我正在使用linkedHashMap来保证当有人试图访问它时的顺序。但是,当需要迭代它时,使用 entrySet() 返回键/值对是否也能保证顺序?迭代时不会进行任何更改。
编辑:此外,通过迭代映射的键并调用 get 来迭代映射是否有任何不利影响?
根据Javadocs的说法,是的。
此实现的不同之处在于,它维护一个贯穿其所有条目的双链表。此链表定义迭代顺序,这通常是将键插入到映射中的顺序(插入顺序)。
HashMap
至于编辑,不,它应该工作得很好。但是条目集要快一些,因为它避免了在迭代期间查找映射中每个键的开销。