2012-04-20 24 views
1

什麼是創建具有可能性集合的二維數組的快速簡單方法?Java創建具有可能性集合的數組的快速方法

例如,如果數目爲5,我想要的陣列爲:

{{0,1},{0,2},{0,3},{0,4},{1,2},{1,3},{1,4},{2,3},{2,4},{3,4}} 

如果數量爲6,

{{0,1},{0,2},{0,3},{0,4},{0,5},{1,2},{1,3},{1,4},{1,5},{2,3},{2,4},{2,5},{3,4},{3,5},{4,5}} 

預先感謝。

回答

6
List<int[]> a = new ArrayList<int[]>(); 
for (int i = 0; i < n; i++) { 
    for (int j = i + 1; j < n; j++) { 
     a.add(new int[]{i, j}); 
    } 
} 
return (int[][])a.toArray(new int[0][0]); 
+0

謝謝。但我怎麼能改變這個二維詮釋數組? a.toArray給我一個錯誤,說我無法從Object []轉換爲int [] []。 – Dennis 2012-04-20 01:40:57

+0

對不起,將'new int [0] [0]'傳遞給'toArray',結果可轉換爲'int [] []'。編輯。 – 2012-04-20 02:00:35

+0

完美。謝謝!!! – Dennis 2012-04-20 02:07:05

相關問題