我有一个包含4个元素的String数组。我想扩展这个String数组,重复相同的元素3或n次。
例如,对于数组
String[] array = {"a", "b", "c", "d"};
我想要像
这样的东西String[] array = {"a", "b", "c", "d", "a", "b", "c", "d", "a", "b", "c", "d" };
我尝试了以下内容:
String[] columnHeaderNamesArray = {"A","b","c","d"};
String[] extendedColumnHeaderNamesArray = new String[columnHeaderNamesArray.length * 3];
Arrays.fill(extendedColumnHeaderNamesArray, columnHeaderNamesArray);
但我得到了ArrayStoreException
。
答案 0 :(得分:1)
您可以使用Collections.nCopies
创建同一数组的多个副本,然后将它们平面映射到单个数组:
String[] multiplied =
Collections.nCopies(4, array)
.stream()
.flatMap(Arrays::stream)
.toArray(String[]::new);