将两个一维字符串数组合并为一个带分隔符的数组
Posted
技术标签:
【中文标题】将两个一维字符串数组合并为一个带分隔符的数组【英文标题】:Merge two one dimensional String arrays to a single array with delimiter 【发布时间】:2021-05-12 01:56:33 【问题描述】:我有两个数组:
a = ["a","b","c"]
b = ["d","e","f"]
如何将它们合并到一个数组中,如下所示:
c = ["a=d", "b=e", "c=f"]
使用等号 (=
) 作为合并字符串之间的分隔符?
【问题讨论】:
这个问题正在meta讨论。 重复错误,因为ArrayList
与array
不同
技术是一样的,iterate,concat,add。
不。 ArrayList
有内置的 .addAll
方法可以这样做,不需要迭代。
addAll
不相关,因为您需要添加自定义分隔符。 Aniway 这个问题不够具体:我们要如何处理数组的大小差异? Not using for loop
,我们是否也排除了 while 循环?转到?为什么我们首先要排除类似的 for 循环?此外,所选答案不符合“没有 for 循环”的标准。如果这是一个家庭作业问题,那么课程的主题是什么?流?
【参考方案1】:
你可以在循环的帮助下做到这一点,例如
import java.util.Arrays;
public class Main
public static void main(String[] args)
String[] a = "a", "b", "c" ;
String[] b = "d", "e", "f" ;
String[] result = new String[a.length];
for (int i = 0; i < Math.min(a.length, b.length); i++)
result[i] = a[i] + "=" + b[i];
System.out.println(Arrays.toString(result));
输出:
[a=d, b=e, c=f]
通过this tutorial from Oracle了解更多关于循环的信息。
使用IntStream
:
import java.util.Arrays;
import java.util.stream.IntStream;
public class Main
public static void main(String[] args)
String[] a = "a", "b", "c" ;
String[] b = "d", "e", "f" ;
String[] result = IntStream
.range(0, Math.min(a.length, b.length))
.mapToObj(i -> a[i] + "=" + b[i])
.toArray(String[]::new);
System.out.println(Arrays.toString(result));
【讨论】:
以上是关于将两个一维字符串数组合并为一个带分隔符的数组的主要内容,如果未能解决你的问题,请参考以下文章