最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java連接合并2個數(shù)組(Array)的5種方法例子

 更新時間:2023年12月14日 16:18:08   作者:choice`  
最近在寫代碼時遇到了需要合并兩個數(shù)組的需求,突然發(fā)現(xiàn)以前沒用過,于是研究了一下合并數(shù)組的方式,這篇文章主要給大家介紹了關于Java連接合并2個數(shù)組(Array)的5種方法,需要的朋友可以參考下

1、使用泛型方法和System.arraycopy實現(xiàn)

T可以是基礎類型,也是類類型

public static <T> T concatenate(T a, T b) {
    if (!a.getClass().isArray() || !b.getClass().isArray()) {
        throw new IllegalArgumentException();
    }
    Class<?> resCompType;
    Class<?> aCompType = a.getClass().getComponentType();
    Class<?> bCompType = b.getClass().getComponentType();
    if (aCompType.isAssignableFrom(bCompType)) {
        resCompType = aCompType;
    } else if (bCompType.isAssignableFrom(aCompType)) {
        resCompType = bCompType;
    } else {
        throw new IllegalArgumentException();
    }
    int aLen = Array.getLength(a);
    int bLen = Array.getLength(b);
    @SuppressWarnings("unchecked")
    T result = (T) Array.newInstance(resCompType, aLen + bLen);
    System.arraycopy(a, 0, result, 0, aLen);
    System.arraycopy(b, 0, result, aLen, bLen);        
    return result;
}

2、使用ArrayUtils.addAll實現(xiàn)

String[] both = (String[])ArrayUtils.addAll(first, second);

3、不使用System.arraycopy實現(xiàn)

static String[] concat(String[]... arrays) {
    int length = 0;
    for (String[] array : arrays) {
        length += array.length;
    }
    String[] result = new String[length];
    int pos = 0;
    for (String[] array : arrays) {
        for (String element : array) {
            result[pos] = element;
            pos++;
        }
    }
    return result;
}

4、使用ObjectArrays.concat實現(xiàn)

String[] both = ObjectArrays.concat(first, second, String.class);

5、使用Arrays.copyOf()實現(xiàn)

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;
}

總結 

到此這篇關于Java連接合并2個數(shù)組(Array)的5種方法例子的文章就介紹到這了,更多相關Java連接合并數(shù)組Array內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Springboot整合IoTB的實現(xiàn)示例

    Springboot整合IoTB的實現(xiàn)示例

    本文主要介紹了Springboot整合IoTB的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-12-12
  • springboot使用攔截器判斷是否登錄

    springboot使用攔截器判斷是否登錄

    這篇文章主要介紹了springboot使用攔截器判斷是否登錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • java安全編碼指南之:聲明和初始化說明

    java安全編碼指南之:聲明和初始化說明

    這篇文章主要介紹了java安全編碼指南之:聲明和初始化說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java中的Gradle與Groovy的區(qū)別及存在的關系

    Java中的Gradle與Groovy的區(qū)別及存在的關系

    這篇文章主要介紹了Java中的Gradle與Groovy的區(qū)別及存在的關系,Groovy是一種JVM語言,它可以編譯為與Java相同的字節(jié)碼,并且可以與Java類無縫地互操作,Gradle是Java項目中主要的構建系統(tǒng)之一,下文關于兩者的詳細內(nèi)容,需要的小伙伴可以參考一下
    2022-02-02
  • 最新版Eclipse安裝、配置圖文教程詳解

    最新版Eclipse安裝、配置圖文教程詳解

    這篇文章主要介紹了新版Eclipse安裝、配置,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • SpringBoot整合接口管理工具Swagger

    SpringBoot整合接口管理工具Swagger

    ? Swagger是一系列 RESTful API的工具,通過Swagger可以獲得項目的?種交互式文檔,客戶端SDK的自動生成等功能。本文通過代碼示例詳細介紹了SpringBoot整合接口管理工具Swagger,需要的朋友可以借鑒參考
    2023-04-04
  • Java漢字轉成漢語拼音工具類

    Java漢字轉成漢語拼音工具類

    這篇文章主要為大家詳細介紹了Java漢字轉成漢語拼音工具類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 聊聊Lombok中的@Builder注解使用教程

    聊聊Lombok中的@Builder注解使用教程

    @Builder注解的作用主要是用來生成對象,并且可以為對象鏈式賦值。接下來通過本文給大家介紹Lombok中的@Builder注解使用教程,感興趣的朋友一起看看吧
    2021-11-11
  • SpringCloud使用Feign實現(xiàn)動態(tài)路由操作

    SpringCloud使用Feign實現(xiàn)動態(tài)路由操作

    這篇文章主要介紹了SpringCloud使用Feign實現(xiàn)動態(tài)路由操作,文章圍繞主題展開詳細的內(nèi)容介紹具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • IO中flush()函數(shù)的使用代碼示例

    IO中flush()函數(shù)的使用代碼示例

    這篇文章主要介紹了IO中flush()函數(shù)的使用代碼示例,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01

最新評論

德江县| 开化县| 海淀区| 乐山市| 天全县| 开封县| 海淀区| 太白县| 莲花县| 瑞金市| 庆城县| 松溪县| 苗栗市| 抚顺县| 云阳县| 泰顺县| 霸州市| 石阡县| 谢通门县| 雷山县| 甘肃省| 塔城市| 靖宇县| 巴彦县| 芜湖县| 东阿县| 留坝县| 仁布县| 海丰县| 乐至县| 正镶白旗| 利川市| 苍山县| 宁南县| 信阳市| 石台县| 喀什市| 北流市| 依兰县| 沂水县| 萨嘎县|