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

标签 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}}

提前致谢。

最佳答案

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]);

关于Java 快速创建具有一组可能性的数组的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10239047/

相关文章:

java - 有没有一种有效的方法来检查子目录并通过Android Assets 文件夹中的相对路径加载 Assets ?

javascript - (功能)使用 Javascript/Jquery 将每个循环中的 JSON 对象返回到变量中

ios - Rx swift : BehaviorRelay in place of Variable usage

ruby - 如何在 Ruby 中查找数组中的特定字符

php - 如果在 php 中包含特定项目,如何从多维数组中删除数组

python - 将数组的数组除以标量数组

PHP:多维数组,多维键?

java - 初始化此程序时如何禁用 Java Swing JButton?

java: HashMap<String, int> 不工作

java - Hibernate findByID 实现