在集合的末尾添加一个新行

Fra*_*iee 0 java sorting generics hashset

我想使用未排序的泛型集合来存储值.

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 ) );
Run Code Online (Sandbox Code Playgroud)

我想这些元素将是3,2,4,1.然后我想从这个集合创建一个数组:

Integer[] arr = ( Integer[] )map.toArray( new Integer[map.size()] );
Run Code Online (Sandbox Code Playgroud)

而且我很惊讶,因为arr中的元素与我放入地图的顺序不同.这笔交易是得到这样的数组:

arr[0] = 3;
arr[1] = 2;
arr[2] = 4;
arr[3] = 1;
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

Sub*_*der 5

HashSet不保证订单保持不变.如果您想维护订单,请使用ArrayList.