我找到了 Collections.nCopies
但它返回 ImmutableList
所以我不能使用 add()
。
最易读的方法是什么?
最佳答案
将不可变的 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
:
List<YourClass> list =
IntStream.range(0,n)
.mapToObj(i -> i != specialIndex ? object1 : object2)
.collect(Collectors.toList());
关于java - 如何使用 N - 1 个相等对象 + 1 个不同对象创建 List<T>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49509526/