Java数组合并方法学习。
2024-09-30 15:21:13
参考博客:
https://blog.csdn.net/liu_005/article/details/72760392
https://blog.csdn.net/jaycee110905/article/details/9179227
在做一道算法题的时候用到数组合并,并且有性能要求,这里对Java数组合并进行学习总结。
分析可以得出,因为数组是定长的,所以解决方法,构造一个新数组,将需要合并的数组放到新数组里面。
使用Arrays.copyOf来构造一个合并之后长度的数组,并将其中一个数组放进去,另一个数组的空间填充,
然后调用System.arraycopy()方法,将另一个数组复制到新构造的数组。
也可以直接使用构造函数来构造,然后使用System.arraycopy两次将数组拷贝到构造的数组里。
用到的方法:
- System.arraycopy()方法
- 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;
}
最新文章
- iOS-数据持久化-CoreData
- Eclipse里面开发ExtJS程序
- 使用ResultSet,写了一个通用的查询方法
- java--依赖、关联、聚合和组合之间区别的理解
- mysql:1153 Got a packet bigger than ‘max_allowed_packet’ bytes的解决方法
- ListVeiw新增记录及 滚动条移动到指定位置
- .net通用权限框架B/S (五)--WEB(1)首页
- Ubuntu 定时任务中的环境变量设置
- 【python教程01】 编辑器
- 2.QT中操作word文档
- android动画之interpolator和typeEvaluator用法详解
- 轻量级集群管理软件-ClusterShell
- 洛谷P3916||图的遍历||反向建图||链式前向星||dfs
- cf里的一些简单组合数题
- 20162322 朱娅霖 作业011 Hash
- [PGM] Markov Networks
- Python 1.安装
- 8.1 C++输入输出类的层次
- Linux/Python学习路线
- 【BZOJ4827】 [Hnoi2017]礼物
热门文章
- 【75.28%】【codeforces 764B】Decoding
- Apply,Call,bind对比
- vue-learning:40 - Vuex - 第一篇:概念和基本使用
- WindowsDOS命令添加/创建/修改/删除服务
- codeforces 1167B Lost Numbers
- [译] 重新思考 1 号进程 / Rethinking PID 1
- python 实现整数的反转:给定一个整数,将该数按位逆置,例如给定12345变成54321,12320变成2321.
- 【萌新向】cartographer_ros最新安装指南 2019-12
- X-Admin&;ABP框架开发-代码生成器
- $loj530\ [LibreOJ\ \beta\ Round \#5]$ 最小倍数 数论