根据ArrayList是否包含第3个元素,我需要替换它,或添加第3个元素。
我目前的情况:
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库中找到任何东西。
答案 0 :(得分:0)
如果要插入的元素位于小于List大小的位置,如果插入位置大于大小,IndexOutOfBoundsException
将Runtime
如果索引小于
,以下代码将向列表添加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 [One, Two, Three, null, null, new Value]
n = 3 [One, Two, Three, new Three]