Java数组合并方法

参考博客:

https://blog.csdn.net/liu_005/article/details/72760392

https://blog.csdn.net/jaycee110905/article/details/9179227

 

在做一道算法题的时候用到数组合并,并且有性能要求,这里对Java数组合并进行学习总结。或者使用工具类实现  apache.commons 

 import org.apache.commons.lang3.ArrayUtils; 单个多个值得数组插入

分析可以得出,因为数组是定长的,所以解决方法,构造一个新数组,将需要合并的数组放到新数组里面。

使用Arrays.copyOf来构造一个合并之后长度的数组,并将其中一个数组放进去,另一个数组的空间填充,

然后调用System.arraycopy()方法,将另一个数组复制到新构造的数组。

也可以直接使用构造函数来构造,然后使用System.arraycopy两次将数组拷贝到构造的数组里。

用到的方法:

  1. System.arraycopy()方法
  2. Arrays.copyOf()方法

API里 System.arraycopy()方法

 API里Arrays.copyOf()方法

 

 数组合并的方法:

public static <T> T[] concat(T[] first, T[] second) {
//构造合并之后的数组,在这里使用Arrays.copy方法,属于合并数组的空间用null填充。 T[] result
= Arrays.copyOf(first, first.length + second.length);
// 将合并数组的数据复制到之前构造好的空间里null填充的数据的位置。 System.arraycopy(second,
0, result, first.length, second.length); return result; }

 

 

 

posted @   山河已无恙  阅读(2293)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示