看板 java 關於我們 聯絡資訊
程式如下: import java.util.Vector; import java.util.Hashtable; import java.util.Enumeration; class Test{ private static Hashtable tools = new Hashtable(); public static void main (String args[]){ String array[] = {"Hello","World","Jimmy","World"}; //宣告含有兩個World的字串陣列 System.out.println("World is in array:"); arraysearch(array,"World"); //呼叫方法傳入陣列及搜尋字 Enumeration ee = tools.keys(); String key = null; while(ee.hasMoreElements()){ key = (String)ee.nextElement(); Object obj = tools.get(key); System.out.println(key+"->"+obj); } } //使用Enumeration列舉Hashtable的值 public static void arraysearch(String array[], String mark){ for (int i=0;i<array.length;i++){ if (array[i].equals(mark)){ tools.put(Integer.toString(i),array[i]); //將搜尋到的陣列索引及值存到Hashtable } } } } 程式執行出來的結果是: World is in array: 3->World 1->World 請問為什麼會反過來呢@@?存進去的順序跟取出來的順序看起來都對呀? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 221.120.0.83
ken915007:Hash應該沒有一定的順序... 07/06 18:53
joetsai:如果沒記錯 Hashtable 沒有一定的順序性~ 07/07 22:30