簡體   English   中英

填充二維數組Java中的特定行

[英]Fill specific row in a 2D array Java

我想知道我們是否可以在java中填充二維數組中的指定案例

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

我不知道我的問題是否清楚,但我正在尋找的是部分填充二維數組而不是所有行或所有列

不知道你在嘗試什么,但如果你想填寫整列或整行,你可以通過以下方式做到這一點:

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

Java 中沒有二維數組這樣的東西。 Java 只有數組的數組。 所以你的二維數組實際上是一個行數組。 一行本身就是一個字符串數組。 因此,如果您想替換數組的第三個“行”,您可以使用

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] = "!";
...

我相信你正在嘗試做這樣的事情。

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

有一個填充特定行的所有值的快捷方式。

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

如果要填充整個二維數組。

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

通過這種邏輯,您可以填充任何維度數組,而不是迭代和分配每個值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM