java数组的合并问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java数组的合并问题相关的知识,希望对你有一定的参考价值。

数组A有20个元素,数组B有10个元素,实现合并,A在前B在后 首先定义数组AB然后创建新的数组C,,,,C大小为AB之和(A.length+B.length),然后通过循环,将A的元素逐个赋值C,之后再将B中元素逐个赋值给C中A后面的元素。 请将详细写下程序设计。。。谢谢各位大神 急用啊

int[] a = new int[]1, 2, 3, 4, 5, 6, 7, 8, 9, 10;
int[] b = new int[]1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 6, 7, 8, 9, 10;
int[] c = Arrays.copyOf(a, 10 + 20);
System.arraycopy(b, 0, c, a.length, b.length);
for (int i : c) 
System.out.print(i + " "); 

追问

大神,,能写全吗,,,您老写的这么抽象我看不懂啊 格式分下呗

大神,,能写全吗,,,您老写的这么抽象我看不懂啊 格式分下呗

追答        int[] a = new int[]1, 2, 3, 4, 5, 6, 7, 8, 9, 10;
        int[] b = new int[]1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 6, 7, 8, 9, 10;
        int[] c = Arrays.copyOf(a, a.lenght + b.length);//把a里面的元素复制给c,这个自动帮你创建c数组,大小为a.lenght + b.length
        System.arraycopy(b, 0, c, a.length, b.length);//这个方法是b里面的元素复制到c中,是在a后面
        for (int i : c) //打印c数组里面的元素
            System.out.print(i + " "); 
        
        //我没有按你说那样下,只是调用几个方法实现的而已

参考技术A Object[] A = new Object[20];
Object[] B = new Object[10];
.......A和B的赋值操作
int aLength = A.length;
int bLength = B.length;
int length = aLength+bLength;
Object[] C = new Object[length];
for(int i = 0 ; i < length ; i++)
if(i<20)
C[i] = A[i];
else
C[i] = B[i-20];

本回答被提问者和网友采纳
参考技术B public static T[] concat(T[] first, T[] second) T[] result = Arrays.copyOf(first, first.length + second.length); System.arraycopy(second, 0, result, first.length, second.length); return result;追问

这写的是一个套用的方法吗

这写的是一个套用的方法吗

Java合并两个数组或多个数组

/**
     * 将多个数组合并成一个新的数组
     * @param arrays
     * @return
     */
    public static Object[] arrayCopyMerge(Object[]... arrays){
        //数组长度
        int arrayLength = 0;
        //目标数组的起始位置
        int startIndex = 0;

        for(Object[] file : arrays){
            arrayLength = arrayLength + file.length;
        }

        Object[] fileArray = new Object[arrayLength];

        for(int i = 0; i < arrays.length; i++){

            if(i > 0){
                //i为0 时,目标数组的起始位置为0 ,i为1时,目标数组的起始位置为第一个数组长度
                //i为2时,目标数组的起始位置为第一个数组长度+第二个数组长度
                startIndex = startIndex + arrays[i-1].length;
            }
       //复制一个新的数组
            System.arraycopy(arrays[i], 0, fileArray, startIndex, arrays[i].length);

        }
        return fileArray;
    }

 

以上是关于java数组的合并问题的主要内容,如果未能解决你的问题,请参考以下文章

java String数组合并

java 数组合并

java中怎么合并两个数组 简单明了的

java 合并排序数组 - 合并两个排序的数组

Java数组合并方法学习。

Java合并数组