有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在2D数组Java中填充特定行

我想知道我们是否可以用java在2D数组中填充指定的大小写 比如说

String[][] Dictionary = new String[25][2];
Dictionary[count][] = word.getName();
Dictionary[][count] = word.getHint();

我不知道我的问题是否清楚,但我要搜索的是一部分一部分地填充二维数组,而不是所有的行或列


共 (4) 个答案

  1. # 1 楼答案

    我相信你想做这样的事

    String[][] dictionary = new String[25][2];
    Dictionary[count][0] = word.getName();
    Dictionary[count][1] = word.getHint();
    

    取决于你想做什么,你最好还是换一种方式来做。例如,如果您正在存储一个名称集合,您希望为其查找提示,那么您可能希望使用映射

    Map<String, String> dictionary = new HashMap<String, String>();
    dictionary.put(word.getName(), word.getHint());
    
    String hint = dictionary.get("name");
    
  2. # 2 楼答案

    Java中没有2D数组这样的东西。Java只有数组的数组。因此,2D数组实际上是一个行数组。本身是字符串数组的行。因此,如果要替换数组的第三行,可以使用

    dictionary[2] = new String[] {"hello", "world"};
    

    如果要填充第三行的现有单元格,可以使用

    dictionary[2][0] = "hello";
    dictionary[2][1] = "world";
    

    如果要填充数组的第二个“列”,可以使用

    dictionary[0][1] = "hello";
    dictionary[1][1] = "world";
    dictionary[2][1] = "!";
    ...
    
  3. # 3 楼答案

    您正在尝试的不是舒尔,但如果您想填充整列或整行,可以通过以下方式:

    int size=100;
    int dest=50; //value of the column/row you want to fill
    String[][] Dictionary = new String[size][size];
    //LOOP FOR FILLING COLUMN  :
    for (int i=0; i< size;i++){
    Dictionary[i][dest] = word.getName();
    }
    //LOOP FOR FILLING ROW :
    for (int i=0; i< size;i++){
    Dictionary[dest][i] = word.getName();
    }
    

    如果您只想在数组中的特定索引处输入特定值,则必须在“断点”中填写前面的索引:

    i=1; //index row
    j==1;//index column
    Dictionary[i][j] = word.getName();
    
  4. # 4 楼答案

    有一个快捷方式可以填充特定行的所有值

    -> Arrays.fill(Dictionary[i],"value");
    

    如果要填充整个二维阵列

    for(String[] array : Dictionary) Arrays.fill(array,"value");
    

    通过这种逻辑,您可以填充任何维度数组,而不是迭代和分配每个值