为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Java中连接两个数组?

如何在Java中连接两个数组?

狐的传说 2019-05-31 12:47:00
如何在Java中连接两个数组?我需要连接两个String数组在Java中。void f(String[] first, String[] second) {     String[] both = ???}做这件事最简单的方法是什么?
查看完整描述

3 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

我从好的老ApacheCommonslang库中找到了一个单行解决方案。
ArrayUtils.addAll(T[], T...)

代码:

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


查看完整回答
反对 回复 2019-05-31
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

可以编写一个完全通用的版本,甚至可以扩展到连接任意数量的数组。此版本需要Java 6,因为它们使用Arrays.copyOf()

这两个版本都避免创建任何中介。List对象和用途System.arraycopy()以确保复制大型数组的速度尽可能快。

对于两个数组,如下所示:

public static <T> T[] concat(T[] first, T[] second) {
  T[] result = Arrays.copyOf(first, first.length + second.length);
  System.arraycopy(second, 0, result, first.length, second.length);
  return result;}

对于任意数目的数组(>=1),如下所示:

public static <T> T[] concatAll(T[] first, T[]... rest) {
  int totalLength = first.length;
  for (T[] array : rest) {
    totalLength += array.length;
  }
  T[] result = Arrays.copyOf(first, totalLength);
  int offset = first.length;
  for (T[] array : rest) {
    System.arraycopy(array, 0, result, offset, array.length);
    offset += array.length;
  }
  return result;}


查看完整回答
反对 回复 2019-05-31
  • 3 回答
  • 0 关注
  • 1983 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号