gpt4 book ai didi

java - 有没有办法根据列表是否与索引一样大来选择添加/设置 ArrayList 的索引?

转载 作者:太空宇宙 更新时间:2023-11-04 13:19:31 25 4
gpt4 key购买 nike

根据 ArrayList 是否包含第三个元素,我需要替换它或添加第三个元素。

我目前拥有的:

import java.util.*;
public class ListReplace {
public static List<String> list = new ArrayList<>();

public static void main (String[] args){
list.add("first");
list.add("second");
list.add("third");

if (list.size() <= 3)
list.add(3, "newVal");
else
list.set(3, "newVal");
}

}

有更聪明的方法吗?在 Guava Collections 库中未找到任何内容。

最佳答案

如果要插入的元素的位置小于列表的大小,则程序将正常工作,如果插入位置大于大小,则会在运行时抛出IndexOutOfBoundsException

如果索引小于大小,下面的代码将向列表添加 null

    List<String> list = new ArrayList<>();
list.add("One");
list.add("Two");
list.add("Three");
int n = 5;
if (list.size() >= n) {
list.add(n, "new Three");
} else {
for (int i = list.size(); i < n; i++) {
list.add(null);
}
list.add("new Value");
}
System.out.println(list);

输出

n = 5 [一、二、三、空、空、新值]
n = 3 [一、二、三、新三]

关于java - 有没有办法根据列表是否与索引一样大来选择添加/设置 ArrayList 的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33226343/

25 4 0