java 连接数组
一,使用Apache Commons的ArrayUtils
Apache Commons类库有很多,几乎大多数的开源框架都依赖于它,Commons中的工具会节省你大部分时间,它包含一些常用的静态方法和Java的扩展。是开发中提高效率的一套框架.
// apache-commons 的方法 ArrayUtils.addAll()
String[] array1 = { "1", "2", "3" };
String[] array2 = { "a", "b", "c" };
String[] addAll = ArrayUtils.addAll(array1, array2); // 推荐
System.out.println(Arrays.toString(addAll)); // [1, 2, 3, a, b, c]
二,System.arraycopy()方法
System.arraycopy(源数组,源数组起始位置,目标数组,目标数组起始位置,需要赋值数组元素长度);
// System.arraycopy() 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
String[] c = new String[array1.length + array2.length];
System.arraycopy(array1, 0, c, 0, array1.length);
System.arraycopy(array2, 0, c, array1.length, array2.length);
System.out.println(Arrays.toString(c)); // [1, 2, 3, a, b, c]
三,Arrays.copyOf()方法
Arrays.copyOf(要复制的数组,要返回副本数组的长度);
// Arrays.copyOf() 复制指定的数组,截取或用 null 填充(如有必要),以使副本具有指定的长度。
String[] copyOf = Arrays.copyOf(array1, array1.length + array2.length);
System.arraycopy(array2, 0, copyOf, array1.length, array2.length);
System.out.println(Arrays.toString(copyOf)); // [1, 2, 3, a, b, c]
四,使用Arrays.copyOf()拼接多个数组
public static void main(String[] args) {
String[] array1 = { "1", "2", "3" };
String[] array2 = { "a", "b", "c" };
String[] array3 = { "一", "二", "三" };
String[] concatAll = concatAll(array1, array2, array3);
System.out.println(Arrays.toString(concatAll)); // [1, 2, 3, a, b, c, 一, 二, 三]
}
/**
* 合并多个
*
* @param first
* @param rest
* @return
*/
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;
}
T[]... rest 是java的不定长参数
java不定长参数参考:http://www.cnblogs.com/ooo0/p/7419777.html
本文参考博客:http://blog.csdn.net/gplihf/article/details/52239756
java 连接数组的更多相关文章
- Java基础——数组应用之StringBuilder类和StringBuffer类
接上文:Java基础——数组应用之字符串String类 一.StringBuffer类 StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和 ...
- Java 连接MongoDB
1.驱动 通过java连接MongoDB需要一个java版的驱动 下载地址:http://mongodb.github.io/mongo-java-driver/ 2.连接MongoDB 通过 com ...
- Java连接MySQL数据库及简单操作代码
1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘, ...
- 转载:Java连接MySQL 数据库的正确操作流程
转载网址:http://www.bitscn.com/pdb/mysql/201005/186551.html 以下的文章主要介绍的是Java连接MySQL 数据库(以MySQL数据库为例 ...
- Java连接MySQL数据库增删改查通用方法
版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...
- Java-Runoob-高级教程-实例-数组:16. Java 实例 - 数组并集
ylbtech-Java-Runoob-高级教程-实例-数组:16. Java 实例 - 数组并集 1.返回顶部 1. Java 实例 - 数组并集 Java 实例 以下实例演示了如何使用 unio ...
- Java-Runoob-高级教程-实例-数组:13. Java 实例 – 数组交集
ylbtech-Java-Runoob-高级教程-实例-数组:13. Java 实例 – 数组交集 1.返回顶部 1. Java 实例 - 数组交集 Java 实例 以下实例演示了如何使用 reta ...
- Java-Runoob-高级教程-实例-数组:12. Java 实例 – 数组差集
ylbtech-Java-Runoob-高级教程-实例-数组:12. Java 实例 – 数组差集 1.返回顶部 1. Java 实例 - 数组差集 Java 实例 以下实例演示了如何使用 remo ...
- -Java-Runoob-高级教程-实例-数组:09. Java 实例 – 数组扩容
ylbtech-Java-Runoob-高级教程-实例-数组:09. Java 实例 – 数组扩容 1.返回顶部 1. Java 实例 - 数组扩容 Java 实例 以下实例演示了如何在数组初始化后 ...
随机推荐
- 【转帖】远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm)
远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm) https://zhuanlan.zhihu.com/p/310 ...
- Linux下面将windows写的脚本转换成 Linux 格式的文件
1.接着上一篇blog 发现有一个问题 vim 打开文件 发现最下面有一行信息: 2. 里面有一些 不一样的地方. linux里面没法执行 ,如果想执行的话 可以输入命令 :set fileforma ...
- springmvc通过HttpServletRequest进行参数传递
@RequestMapping("/itemEdit") public String itemEdit(HttpServletRequest request, Model mode ...
- Angular MVC
<!DOCTYPE html><html ng-app="myApp"><head lang="en"> <meta ...
- MyBatis源码分析1 参数映射分析
首先我们拿出之前的代码,在如图位置打上断点,开始调试 我们规定了一个mapper接口,而调用了mapper接口的getEmpByIdAndLastName,我们并没有实现这个接口,这是因为Mybati ...
- how to build an app with github
how to build an app with github Building apps https://developer.github.com/apps/ demos https://githu ...
- 莫烦scikit-learn学习自修第三天【通用训练模型】
1. 代码实战 #!/usr/bin/env python #!_*_ coding:UTF-8 _*_ import numpy as np from sklearn import datasets ...
- 工程师常犯的web后台界面用户体验错误
- Code::Blocks debug程序
设置Settings--->Compiler, 打上勾: Produce debugging symbols [-g] 需要在settings->debugger settings-> ...
- UVA 690 Pipeline Scheduling
https://vjudge.net/problem/UVA-690 题目 你有一台包含5个工作单元的计算机,还有10个完全相同的程序需要执行.每个程序需要$n(n<20)$个时间片来执行,可以 ...