更新ArrayList <list> </list>中的元素

时间:2014-06-06 11:25:17

标签: java list arraylist

我使用列表列表:

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

即使是大量的元素也会变得很麻烦。

1 个答案:

答案 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