当前位置: 首页 > 面试题库 >

如何用整数填充Java中的二维ArrayList?

姬魁
2023-03-14
问题内容

我必须创建一个大小未知的二维数组。因此,我决定使用2d ArrayList,问题是我不确定如何初始化这样的数组或存储信息。

说我有以下数据

   0 connects 1
   2 connects 3 
   4 connects 5

.... etc多达大量的随机连接

我想插入

true(1) into [0][1], 
true(1) into [2][3], 
true(1) into [4][5].

数组可以自动为我更新列/行吗

任何帮助表示赞赏,谢谢


问题答案:

我不确定如何初始化这样的数组或存储信息。

像这样:

List<List<Integer>> twoDim = new ArrayList<List<Integer>>();

twoDim.add(Arrays.asList(0, 1, 0, 1, 0));
twoDim.add(Arrays.asList(0, 1, 1, 0, 1));
twoDim.add(Arrays.asList(0, 0, 0, 1, 0));

或者,如果您喜欢这样的话:

List<List<Integer>> twoDim = new ArrayList<List<Integer>>() {{
    add(Arrays.asList(0, 1, 0, 1, 0));
    add(Arrays.asList(0, 1, 1, 0, 1));
    add(Arrays.asList(0, 0, 0, 1, 0));
}};

要插入新行,您可以

twoDim.add(new ArrayList<Integer>());

并在row您执行的操作上附加另一个元素

twoDim.get(row).add(someValue);

这是一个更完整的示例

import java.util.*;

public class Test {

    public static void main(String[] args) {

        List<List<Integer>> twoDim = new ArrayList<List<Integer>>();

        String[] inputLines = { "0 1 0 1 0", "0 1 1 0 1", "0 0 0 1 0" };

        for (String line : inputLines) {
            List<Integer> row = new ArrayList<Integer>();

            Scanner s = new Scanner(line);
            while (s.hasNextInt())
                row.add(s.nextInt());

            twoDim.add(row);
        }
    }
}


 类似资料:
  • 到目前为止,这就是我得到的,但我不太确定接下来该怎么办。我(认为)这里发生的是,它到达数组的第一个位置,在0,0处,并生成一个数字。然后转到1,1和2,2,依此类推。我不确定该从那里开始,我相信有一种更有效的方法可以一次填充整行或整列。 此外,我的编译器不允许我像平时一样使用cout或endl?它坚持我使用std::cout,我只是想知道为什么。

  • 问题内容: 嗨,我正在尝试根据用户输入自动填充2d数组。用户将输入1个数字,该数字将设置2d数组的大小。然后,我想打印出数组的数字。例如,如果用户输入数字4。2d数组将是4行乘4列,并且应包含数字1到16,并打印如下。 但是,我正在努力思考正确的声明来做到这一点。目前,我的代码只是打印出包含*的2d数组。 有谁知道我如何打印数字的任何想法,我真的被卡住了。我的代码如下: 问题答案: 读取n值,

  • 我对Javafx不熟悉,想知道如何从2维字符串数组填充桌面视图: 会非常感激你的回应。

  • 您知道如何用流中的单词填充数组吗?这是我目前所能做到的: 所以它看起来像{{1,2,3},{4,5,6},{7,8,9},…}

  • 问题内容: 在Java中转换为a时,如何在左边用零填充pad ? 我基本上是希望将整数补足到前导零(例如)。 问题答案: 像这样使用: 用于长度为5的零填充。对于十六进制输出,用中的 替换。 完整格式选项作为的一部分进行了说明。

  • 问题内容: 我知道该怎么做,但是我发誓您可以像[[0] = {0,0,0,0};那样填写;你是怎么做到的?我确实尝试过Google,但没有任何帮助。 问题答案: 您也可以将其作为声明的一部分: