簡體   English   中英

鍵集和值在哈希圖中是否具有相同的順序

[英]does keyset and values have same order in hashmap

據我所知keyset()不能保證任何特定的順序,但是values()是否與keyset()的順序相同? 鏈接哈希表怎么樣? 似乎它可以提供一致的順序鍵集,假設它也獲得相同的順序values()?

哈希表中絕對沒有關於順序的承諾。

遍歷任何Java Map的最佳方法是使用以下慣用法:

for(Map.Entry<K,V> e : map.entrySet()){
  K theKey = e.getKey();
  V theValue = e.getValue();
  // do something with them!
}

這個成語使問題變得無關緊要,因為您正在以鍵,值對的形式瀏覽映射中的條目。

如前所述,除了SortedMapLinkedHashMap等之外,沒有任何順序保證。 如果您對鍵進行了總體排序,請使用SortedMap :始終明確地對問題建模。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM