我想使用未排序的泛型集合來存儲值。在集合末尾添加新行
Set<Integer> map = new HashSet<Integer>();
map.Add(new Integer(3));
map.Add(new Integer(2));
map.Add(new Integer(4));
map.Add(new Integer(1));
我想這些元素是3,2,4,1。 後來我想從這個集合創建磁盤陣列:
Integer[] arr = (Integer[])map.toArray(new Integer[map.size()]);
而且我很驚訝,因爲在ARR的元素在不同的順序,比我投入的地圖。 這筆交易是爲了獲得一個這樣的數組:
arr[0] = 3;
arr[1] = 2;
arr[2] = 4;
arr[3] = 1;
我應該爲此做什麼?
你讀的JavaDoc? – home
也許一個ArrayList將幫助你更好 – MaVRoSCy
根據JavaDoc這個類實現了Set接口,由一個哈希表(實際上是一個HashMap實例)支持。它對集合的迭代次序沒有任何保證;特別是它並不能保證訂單在一段時間內保持不變,這就是爲什麼他們不是按照你所訂購的順序 – MaVRoSCy