java合並數組的幾種方法,stream流合並數組


一、實例代碼

package cc.ash;

import org.apache.commons.lang3.ArrayUtils;

import java.lang.reflect.Array;
import java.util.Arrays;

public class ArrayConcat {


    public static void main(String[] args) {

        int[] a = {1,2,3};
        int[] b = {4,5,6};
        concatArray(a,b);
    }
    public static void concatArray(int [] a, int [] b) {

        //org.apache.commons.lang3.ArrayUtils中方法
        int[] all = ArrayUtils.addAll(a, b);

        //通過Array的newInstance生成一個合並長度的數組,再通過System中的arraycopy()方法copy
        Object newInstance = Array.newInstance(int.class, a.length + b.length);
        System.arraycopy(a, 0, newInstance, 0, a.length);
        System.arraycopy(b, 0, newInstance, a.length, b.length);


        //通過Arrays中copyOf方法將某一個作為基礎,擴展所需要的長度
        int[] copyOf = Arrays.copyOf(b, a.length + b.length);
        //再通過System中的arraycopy()方法copy
        System.arraycopy(a, 0, copyOf, b.length, a.length);

    

    }
}

 

二、方法總結

參考鏈接:

https://www.cnblogs.com/jpfss/p/9181443.html

https://www.jb51.net/article/160480.htm

 

三、stream合並數組

 

        String [] a = {"a1", "a2"};
        String [] b = {"b1", "b2", "b3"};
        String[] strings = Stream.concat(Stream.of(a), Stream.of(b)).peek(System.out::println).toArray(String[]::new); //測試輸出

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM