gpt4 book ai didi

java - arraylist 在特定索引处修改

转载 作者:行者123 更新时间:2023-12-01 18:37:26 27 4
gpt4 key购买 nike

我有两个ArrayList。如下例所示。

ArrayList<String> listVarName = new ArrayList<String>();
ArrayList<String> listVarValue = new ArrayList<String>();

listVarName.add("One");
listVarName.add("Two");
listVarName.add("Three");
listVarName.add("Four");

listVarValue.add("Content of One");
listVarValue.add("Content of Two");
listVarValue.add("Content of Three");
listVarValue.add("Content of Four");

//Code to append the value
int index = listVarName.indexOf("Two");
String oldVal = listVarValue.get(index);
listVarValue.remove(index);
listVarValue.add(index, oldVal+" APPENDED TEXT");

System.out.println(listVarName.toString());
System.out.println(listVarValue.toString());

附加之前的输出:

[One, Two, Three, Four]
[Content of One, Content of Two, Content of Three, Content of Four]

附加后的输出:

[One, Two, Three, Four]
[Content of One, Content of Two APPENDED TEXT, Content of Three, Content of Four]

在上面的代码中,listVarNamelistVarValue

所以我试图追加 listVarValue,其索引与listVarName 的索引相匹配。因此,我获取 listVarValue 的旧值并向其添加新值,然后从列表中删除旧值并将新值插入到其旧位置。

上面的代码工作正常。我的问题是有没有更好的方法来代替我用来附加值的代码?

最佳答案

您还可以使用Map<String,String>而不是 2 ArrayList 。最后你可以通过调用 keySet() 单独获取它们作为集合。和values()

    Map<String, String> map = new LinkedHashMap<String, String>();
map.put("one", "Content of One");
map.put("Two", "Content of Two");
map.put("Three", "Content of Three");
map.put("Four", "Content of Four");

map.put("Two", map.get("Two") + " APPEND TEXT");
System.out.println(map.values());

关于java - arraylist 在特定索引处修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21330439/

27 4 0