如何在Java中连接两个数组?| Java Debug 笔记

204 阅读1分钟

本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看活动链接

提问:如何在Java中连接两个数组

我需要串联两个StringJava数组。

void f(String[] first, String[] second) {
    String[] both = ???
}

最简单的方法是什么?

高分回答:

很多的知识点,真的需要写出来才会掌握!!! \color{purple}很多的知识点,真的需要写出来才会掌握!!!{~}

我从旧的Apache Commons Lang库中找到了单行解决方案。 ArrayUtils.addAll(T[], T...)

代码:

String[] both = ArrayUtils.addAll(first, second);

高分回答:

Stream在Java 8中使用:

String[] both = Stream.concat(Arrays.stream(a), Arrays.stream(b))
                      .toArray(String[]::new);

或者像这样,使用flatMap:

String[] both = Stream.of(a, b).flatMap(Stream::of)
                      .toArray(String[]::new);

为此,您必须使用反射:

@SuppressWarnings("unchecked")
T[] both = Stream.concat(Arrays.stream(a), Arrays.stream(b)).toArray(
    size -> (T[]) Array.newInstance(a.getClass().getComponentType(), size));

文章翻译自 kgs4h5t57thfb6iyuz6dqtun5y-ac4c6men2g7xr2a-stackoverflow-com.translate.goog/questions/8…

作者建议:掌握流的处理方式,同时除了拼接,你也需要掌握交集、并集、去除相同元素、转换等一系列的api处理方式。

欢迎关注我的专栏StackOverFlow,我会筛选优质的问答,面试常考!!! \color{red}欢迎关注我的专栏StackOverFlow,我会筛选优质的问答,面试常考!!!{~}

有最新、优雅的实现方式,我也会在文末写出我对本问答的见解 \color{red}有最新、优雅的实现方式,我也会在文末写出我对本问答的见解{~}

真心感谢帅逼靓女们能看到这里,如果这个文章写得还不错,觉得有点东西的话

求点赞👍 求关注❤️ 求分享👥 对8块腹肌的我来说真的 非常有用!!!

如果本篇博客有任何错误,请批评指教,不胜感激 !❤️❤️❤️❤️