2012-08-25 52 views
1

我需要創建並排序一個對象數組,問題是無法由它們自己排序的對象。相反,它們是基於整數值進行排序的。所以我想使用2d數組。java 2d數組大小未知時的數組

Object[][] array = new Object[][] 

這樣我可以在陣列中存儲

[integer to order the objects][object] 

但問題是我不知道有多少對象將有需要進行有序的,所以,我需要使用Arraylist?

無論哪種方式,是有可能使用collection.sort命令,我怎麼能可能得到所描述的行爲的陣列?

感謝

回答

3

你需要忘記原陣列,並開始在Java集合框架的思維。

對於分類使用TreeMap<Integer, Object>。在您擁有put所有對象之後,您可以使用values()以正確的順序獲取對象。

使用地圖您也消除了尺寸確定的所有問題。

+1

衛生署 - 更好的答案比我現在刪除一個:) –

+0

看起來很完美謝謝 – user1334130

+0

實際上有一些問題,澄清,整數是我輸入的值,它並不總是唯一的,仍然可以使用該值來訂購樹? – user1334130

0

使用ArrayListComparator interface進行排序。

此外TreeMap是一個Sorted Map它將根據整數值對您的對象進行排序,因爲您將它們作爲值的關鍵字提及它們。

TreeMap<Integer, Object> 

Integer - Key 

Object - Value 

不需要初始化集合像你需要使用數組做....所以這就是另一個probs照顧過....