java - 将 ArrayList 转换为二维数组

标签 java arrays matrix arraylist

在弄清楚创建从 1 到 16 的随机数列表的方法后,如何以矩阵形式显示此列表。

 public static void main(String... args) throws Exception {

 List<Integer> list = new ArrayList<Integer>();
 for (int i = 1; i < 17; i++) {
    list.add(i);
}
System.out.println(list); //[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
Collections.shuffle(list);
System.out.println(list); //[11, 5, 10, 9, 7, 0, 6, 1, 3, 14, 2, 4, 15, 13, 12, 8]

int[][] a2 = new int[4][4];
for (int i = 0; i < 4; i++) {
    for (int j = 0;  j< 4; j++) {


        a2[i][j] = list.get(i*4 + j);
      //  System.out.println(Arrays.deepToString(a2)); //[[11, 5, 10, 9], [7, 0, 6, 1],     [3, 14, 2, 4], [15, 13, 12, 8]]
    }
   System.out.println(Arrays.deepToString(a2)); //[[11, 5, 10, 9], [7, 0, 6, 1], [3,     14, 2, 4], [15, 13, 12, 8]]
}
//System.out.println(Arrays.deepToString(a2)); //[[11, 5, 10, 9], [7, 0, 6, 1], [3, 14                  2, 4], [15, 13, 12, 8]]
}

像这样:
3、4、5、8、
2、6、7、9、
11, 1, 15, 13,
10, 12, 14, 0

我在末尾加了一个零,因为我希望它呈现一个可以由用户使用 boolean 运算符移动的空值。

最佳答案

类似这样的事情:

int index = 1;
for(Integer i : list) {
  System.out.print(i);
  if (index % 4 == 0)
    System.out.println();
  index++;
}

关于java - 将 ArrayList 转换为二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9465356/

相关文章:

java - 如何在 Netbeans 中动态添加 JButton?

java - 是否可以在不使用 applet 的情况下获得 Web 浏览器的 Java VM?

c - 编写了一个程序来查看二进制数据。我是否正确执行了此操作,或者我收到了垃圾数据?

C++:调整二维 vector 的大小

python - scipy 将一个稀疏矩阵的所有行附加到另一个

java - 带有java配置的spring security,没有定义名为 'springSecurityFilterChain'的bean错误

java - 如何使代码更高效/更干净 - USACO 培训的首要任务

python - 用大数组中的值 c 替换从值 a 到 b 的 float

arrays - React Custom Roulette如何显示轮盘号码

R 将矩阵转换为列表