java - java中字符串数组的重复元素

标签 java arrays

我有一个包含 4 个元素的字符串数组。我想使用重复 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

最佳答案

您可以使用Collections.nCopies创建同一数组的多个副本,然后将它们平面映射到单个数组:

String[] multiplied =
    Collections.nCopies(4, array)
               .stream()
               .flatMap(Arrays::stream)
               .toArray(String[]::new);

关于java - java中字符串数组的重复元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46610914/

相关文章:

java - 为 bean 创建 session 范围的代理

java - Selenium 在 Java Web 项目上运行时抛出 "NoSuchMethodError"

javascript - 使用 new Array().fill(0) 创建二维数组错误?

c - 我不明白为什么我的数组大小错误

javascript - 为什么 goog.crypt.base64.decodeStringToByteArray(string) 在这里返回无效的字节数组?

java - 尝试从 GWT 标签获取内部文本

java - 如果MutableLiveData正在更改,为什么我的ViewModel不调用.observe()并通知适配器?

java - getClass().getResource ("/") 在命令行中返回 null

c# - 如何在 C# 中将 2D 列表转换为 2D 数组

c - 从包含其他结构的二进制文件写入和读取结构 (C)