我找到Collections.nCopies
但它返回ImmutableList
,因此我无法使用add()
。
最可读的方式是什么?
答案 0 :(得分:5)
将不可变的List
传递给ArrayList
构造函数:
List<YourClass> list = new ArrayList<>(Collections.nCopies (n-1, object1));
list.add(object2);
或
List<YourClass> list = new ArrayList<>(Collections.nCopies (n, object1));
list.set(someIndex, object2);
在Java 8中,您可以使用Stream
s:
List<YourClass> list =
IntStream.range(0,n)
.mapToObj(i -> i != specialIndex ? object1 : object2)
.collect(Collectors.toList());