用java实现数组的组合

数组合并方法
package test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 数组合并
 * */
public class ArrayCombine {

	/**
	 * 两个字符串数组的合并
	 * */
	public void arrayCombine1(){   //不行
		String[] str1 = {"a","b","e"};
		String[] str2 = {"e","3","w"};
		
		List arr1List = Arrays.asList(str1);
		List arr2List = Arrays.asList(str2);
		
		List list = new ArrayList();
		list.addAll(arr1List);
		list.addAll(arr2List);
		
		Object[] arr3 = list.toArray();
		for(Object obj : arr3){
			System.out.println(obj);
		}
		
	}
	/**
	 * 两个整形数组合并
	 * */
	public void arrayCombine2(){
		int[] arr1 = {1,3,4,6,8};
		int[] arr2 = {23,4,2,14,54};
		int[] arr3 = new int[arr1.length+arr2.length];
		System.arraycopy(arr1, 0, arr3, 0, arr1.length);
		System.arraycopy(arr2, 0, arr3, arr1.length, arr2.length);
	}
	/**
	 * 两个字符串类型数组合并
	 * */
	public void arrayCombine3(){
		String[] str1 = {"a","b","e"};
		String[] str2 = {"e","3","w"};
		String[] str3 = new String[str1.length + str2.length];
		System.arraycopy(str1, 0, str3, 0, str1.length);
		System.arraycopy(str2, 0, str3, str1.length, str2.length);
		for(String s : str3){
			System.out.println(s);
		}
	}
	
	public static void main(String[] args) {
		ArrayCombine ac = new ArrayCombine();
		ac.arrayCombine1();
	}
}

在用Arrays和Collection的addAll方法实现数组的合并的时候要主要对于基本数据类型不能使用这种方式,用完Collection只支持引用数据类型,而用System的arraycopy()方法则是一种通用的解决办法,而且更加灵活。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值