2014-07-02 104 views
-3

java中哪些集合是遍歷順序可預測的? 我想知道我在哪裏可以得到可預測的訂單輸出,當我打印循環內的元素。Java集合中的遍歷順序

+0

[java.util.list](http://docs.oracle.com/javase/7/docs/api/java/util/List.html)是有序集合,這意味着集合的元素有一個具體的順序。訂單與價值無關。 –

+0

剛剛閱讀javadoc ... -1缺乏研究 – awksp

回答

0

List接口及其實現是有序集合。

 List<Integer> list = new ArrayList<Integer>(); 

     for(int i=0; i<10; i++){ 
      list.add(i); 
     } 

     for(int i=0; i<10; i++){ 
      System.out.print(list.get(i)+" "); 
     } 

輸出:0 1 2 3 4 5 6 7 8 9

這表明列表隨後插入順序。

+0

感謝Nikhil,Varun,nivox的評論。 :) – Ani

+0

請爲將來引用其他SO用戶選擇一個正確的答案。你也可以投票有用的答案。 –

0

List實現或任何SortedMap,SortedSet實現都是可預測的。

0

這個問題真的很一般:你對什麼樣的收藏感興趣?列表,集合,隊列?

一般而言,您可以期望List的任何實現具有可預測的遍歷順序。 泛型集合並不提供任何遍歷順序的保證,但是SortedSet子類(TreeSet)確實提供了可預測的遍歷排序。

我強烈建議您檢查java.util.Collection的javadoc並檢查各種子接口,直到找到一個提供可預測的遍歷排序的集合(這通常在javadoc中明確指定,請參見List,SortedSet等)並適合你的問題。