当前位置:  开发笔记 > 编程语言 > 正文

将两个数组相乘并将结果放在第三个数组中

如何解决《将两个数组相乘并将结果放在第三个数组中》经验,为你挑选了1个好方法。

想象一下,我们有两个数组:

String[] arr1 = {"a", "b"};
String[] arr2 = {"1", "2", "3"};

获得包含两者的相乘值的第三个String数组的更好方法是什么.喜欢:

String[] arr3 = {"a1", "a2", "a3", "b1", "b2", "b3"};

我知道,我可以使用循环并将每个元素从1连接起来,每个元素从2连接起来,并将结果放在3中.但实际上在arr1和中有更多的元素arr2.Java中是否有一种特殊工具可以提高效率?



1> Tunaki..:

如果你可以使用Java 8,这是一个单行:

public static void main(String[] args) {
    String[] arr1 = {"a", "b"};
    String[] arr2 = {"1", "2", "3"};
    String[] result = Arrays.stream(arr1).flatMap(s1 -> Arrays.stream(arr2).map(s2 -> s1 + s2)).toArray(String[]::new);
    System.out.println(Arrays.toString(result));
}

逻辑是第一个数组的每个元素都映射到该元素前置的第二个数组的所有元素的Stream.然后将该流展平并收集到阵列中.

否则,虽然您没有发布您当前拥有的代码,但这听起来是一种很好的方法,并且Java中没有任何神奇的方法可以简化它.

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有