java两个数组合并为一个数组的几种方法

 更新时间:2023年07月19日 15:27:27   作者:SUMMERENT  
这篇文章主要给大家介绍了关于java两个数组合并为一个数组的几种方法,最近在写代码时遇到了需要合并两个数组的需求,文中将每种方法都介绍的非常详细,需要的朋友可以参考下

1、int[]数组

int[] a = {1,2,6};
int[] b = {7,8,9};

合并结果为:

[1, 2, 6, 7, 8, 9] 

2、String[]数组

String[] a = {"阿","java","so","easy"};
String[] b = {"is","very","good"};

合并结果为:

[阿, java, so, easy, is, very, good]

方法一:使用for循环

1、使用两个for循环将数组 a 和数组 b 中的元素复制到数组 c 中

2、第一个for循环将数组 a 中的元素复制到数组 c 的前半部分

3、第二个for循环将数组 b 中的元素复制到数组 c 的后半部分

// int[]数组
int[] c = new int[a.length + b.length];
for (int i = 0; i < a.length; i++) {
    c[i] = a[i];
}
for (int i = 0; i < b.length; i++) {
    c[a.length +i] = b[i];
}
// String[]数组
String[] c = new String[a.length + b.length];
for (int i = 0; i < a.length; i++) {
    c[i] = a[i];
}
for (int i = 0; i < b.length; i++) {
    c[a.length + i] = b[i];
}

方法二:使用Arrays.copyOf()方法 

1、使用Arrays.copyOf ()方法创建一个新的数组,并将数组 a 中的元素复制到数组 c 中

2、使用System.arraycopy ()方法将数组 b 中的元素复制到数组 c 的后半部分。

// int[]数组
int[] c = Arrays.copyOf(a,a.length+b.length);
System.arraycopy(b,0,c,a.length,b.length);
// String[]数组
String[] c = Arrays.copyOf(a,a.length+b.length);
System.arraycopy(b,0,c,a.length,b.length);

方法三:使用IntStream.concat方法

1、使用Arrays.stream() 方法将数组 a 和数组 b 转换为 IntStream对象

2、使用Stream.concat() 方法将这两个 IntStream对象连接成一个单独的流

3、使用 toArray() 方法将连接后的流转换为一个数组 c

// int[]数组
int[] c = IntStream.concat(Arrays.stream(a), Arrays.stream(b)).toArray();
// String[]数组
Object[] c = Stream.concat(Arrays.stream(a), Arrays.stream(b)).toArray();

方法四:使用System.arraycopy()方法

1、第一个System.arraycopy() 方法,将数组 a 中的元素复制到数组 c 的前半部分

2、第二个System.arraycopy() 方法,将数组 b 中的元素复制到数组 c 的后半部分。

方法:System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length);

参数:
src – 源数组。

srcPos – 源数组中的起始位置。

dest – 目标数组。

destPos – 目标数据中的起始位置。

length – 要复制的数组元素的数量

// int[]数组
int[] c = new int[a.length + b.length];
System.arraycopy(a,0,c,0,a.length);
System.arraycopy(b,0,c,a.length,b.length);
// String[]数组
String[] c = new String[a.length + b.length];
System.arraycopy(a,0,c,0,a.length);
System.arraycopy(b,0,c,a.length,b.length);

总结

到此这篇关于java两个数组合并为一个数组的几种方法的文章就介绍到这了,更多相关java两个数组合并内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JDBC实现数据库增删改查功能

    JDBC实现数据库增删改查功能

    这篇文章主要为大家详细介绍了JDBC实现数据库增删改查功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • java有界类型参数的实例用法

    java有界类型参数的实例用法

    小编给大家整理了一篇关于java有界类型参数的使用的相关文章及扩展实例内容,有需要的朋友们可以学习参考下。
    2021-07-07
  • Java实现平滑加权轮询算法之降权和提权详解

    Java实现平滑加权轮询算法之降权和提权详解

    所有负载均衡的场景几乎都会用到这个平滑加权轮询算法,下面这篇文章主要给大家介绍了关于Java实现平滑加权轮询算法之降权和提权的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • JavaWeb开发实现备忘录

    JavaWeb开发实现备忘录

    这篇文章主要为大家详细介绍了JavaWeb开发实现备忘录,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • java中原码、反码与补码的问题分析

    java中原码、反码与补码的问题分析

    本篇文章介绍了,在java中原码、反码与补码的问题分析。需要的朋友参考下
    2013-04-04
  • java~springboot~ibatis数组in查询的实现方法

    java~springboot~ibatis数组in查询的实现方法

    这篇文章主要介绍了java~springboot~ibatis数组in查询的实现方法,需要的朋友可以参考下
    2018-09-09
  • Java代码为例讲解堆的性质和基本操作以及排序方法

    Java代码为例讲解堆的性质和基本操作以及排序方法

    堆数据结构可以看作一颗完全二叉树,因而又被成为二叉堆,这里我们以Java代码为例讲解堆的性质和基本操作以及排序方法,需要的朋友可以参考下
    2016-06-06
  • java类的全限定名是什么

    java类的全限定名是什么

    Java中的全限定名指的是包含包名和类名的完整标识,例如“java.lang.String”,而非限定名仅指类名,如“String”,全限定名用于区分不同包中相同名字的类,避免引用混淆,特别是在有多个包含相同类名的库时
    2024-09-09
  • 详解springboot如何更新json串里面的内容

    详解springboot如何更新json串里面的内容

    这篇文章主要为大家介绍了springboot 如何更新json串里面的内容,文中有详细的解决方案供大家参考,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-10-10
  • 教你利用JAVA实现可以自行关闭服务器的方法

    教你利用JAVA实现可以自行关闭服务器的方法

    今天给大家带来的是关于Java的相关知识,文章围绕着利用JAVA实现可以自行关闭服务器的方法展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06

最新评论