Java快速创建具有一组可能性的数组的方法

时间:2012-04-20 01:26:53

标签: java arrays multidimensional-array osx-lion set

用一组可能性创建二维数组的快速简单方法是什么?

例如,如果数字为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}}

提前致谢。

1 个答案:

答案 0 :(得分: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]);