我使用列表列表:
List<List<String>> LoL = new ArrayList<List<String>>();
我偶尔需要插入/编辑列表中的元素。是否有一个函数可以引用2d结构中的特定元素并在那里插入所需的值?
我目前知道这样做的唯一方法是一次列表,使用get语句引用其余元素的现有列表以及要插入的元素,如下所示:
LoL.set(x, Arrays.asList(LoL.get(0).get(1), LoL.get(0).get(2), LoL.get(0).get(3)....LoL.get(0).get(12), "value to be inserted", LoL.get(0).get(14)...LoL.get(0).get(25));
即使是大量的元素也会变得很麻烦。
答案 0 :(得分:5)
您不需要反复设置内部列表。您只需在所需索引处获取List
,然后使用List#set(index, element)按索引更改其中的任何特定值,就像这样。
Lol.get(0).set(2, "SomeString");
在index 0
获取列表,并将index 2
处的元素设置为&#34; SomeString&#34; 。
更新
要更新同一外部列表中的多个元素,您可以使用简单的for
循环并更新所需列表的元素。像这样的东西
for(int i = 0; i < Lol.size(); i++) { // Iterate over Lol
if(i == 2) { // If you want to update the elements of the List present at index 2
// Do what you want - Below is just an example and isn't that very robust
Lol.get(i).set(0, "String 1");
Lol.get(i).set(3, "String 2");
Lol.get(i).set(6, "String 3");
}
}
注意:使用以大写字母开头的变量名称不是通常的做法。如果可能的话,尝试使用 camelCase 。