欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Java如何在Array和List之間進(jìn)行轉(zhuǎn)換

 更新時(shí)間:2023年05月10日 16:44:20   作者:honeymoose  
這篇文章主要為大家介紹了詳解Java如何在Array和List之間進(jìn)行轉(zhuǎn)換的方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

概述

在本文章中,我們對(duì)如何在 Java 中對(duì) Array 和 List 進(jìn)行轉(zhuǎn)換進(jìn)行一些說明和示例。

這些示例通過使用 Core Java 和一些第三方的轉(zhuǎn)換工具,例如 Guava 和 Apache Commons Collections。

更多有關(guān)的文章,請(qǐng)?jiān)L問:Java - OSSEZ 相關(guān)的內(nèi)容和參與討論。

從 List 轉(zhuǎn)換為 Array

使用原生 Java 代碼

我們可以使用原生 Java 代碼來進(jìn)行轉(zhuǎn)換,在 List 中有一個(gè) toArray 的方法,直接使用就可以了。

    @Test
    public final void givenUsingCoreJava_whenListConvertedToArray_thenCorrect() {
        final List<Integer> sourceList = Arrays.asList(0, 1, 2, 3, 4, 5);
        final Integer[] targetArray = sourceList.toArray(new Integer[0]);
    }

需要注意的是,我們?cè)谶@里使用了

toArray(new T[0])

來對(duì)變量進(jìn)行初始化,相對(duì)使用

toArray(new T[size])

這個(gè)方法。

使用

toArray(new T[0])

來對(duì)數(shù)組進(jìn)行初始化更加安全,快速,易讀。

使用 Guava

讓我們來使用 Guava API 來進(jìn)行相同的轉(zhuǎn)換:

    @Test
    public final void givenUsingGuava_whenListConvertedToArray_thenCorrect() {
        final List<Integer> sourceList = Lists.newArrayList(0, 1, 2, 3, 4, 5);
        final int[] targetArray = Ints.toArray(sourceList);
    }

Ints 中有一個(gè) toArray 的方法,這個(gè)方法將會(huì)把整數(shù)類型的 List 轉(zhuǎn)換為 Array。

把 Array 轉(zhuǎn)換為 List

使用原生 Java

讓我們使用原生的 Java 來把數(shù)組轉(zhuǎn)換為 List。

直接只用 JDK 中的 Arrays 來進(jìn)行轉(zhuǎn)換就可以了。

@Test
public void givenUsingCoreJava_whenArrayConvertedToList_thenCorrect() {
    Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };
    List<Integer> targetList = Arrays.asList(sourceArray);
}

需要注意的是,這個(gè)方法轉(zhuǎn)換的 List 是固定長(zhǎng)度的 List,你就沒有辦法對(duì)這個(gè) List 進(jìn)行相關(guān)操作了。

如果你是希望使用基本的

ArrayList

的話,我們可以簡(jiǎn)單的使用

ArrayList

來對(duì)其進(jìn)行實(shí)例化。

如下面的代碼來進(jìn)行實(shí)例化:

List<Integer> targetList = new ArrayList<Integer>(Arrays.asList(sourceArray));

使用 Guava

讓我們來使用 Guava API 來進(jìn)行相同的轉(zhuǎn)換:

@Test
public void givenUsingGuava_whenArrayConvertedToList_thenCorrect() {
    Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };
    List<Integer> targetList = Lists.newArrayList(sourceArray);
}

使用 Commons 集合

最后,我們來看看如何使用 Apache Commons Collections

CollectionUtils.addAll

API 來把 Array 的內(nèi)容填充到一個(gè)空的 List:

@Test 
public void givenUsingCommonsCollections_whenArrayConvertedToList_thenCorrect() { 
    Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 }; 
    List<Integer> targetList = new ArrayList<>(6); 
    CollectionUtils.addAll(targetList, sourceArray); 
}

這個(gè)方法,我們使用的是 CollectionUtils 的工具類來進(jìn)行添加的。

結(jié)論

在 Java 的集合類型直接進(jìn)行轉(zhuǎn)換是我們需要經(jīng)常進(jìn)行操作的方法和需求。

上面介紹了幾種基本的轉(zhuǎn)換方法,根據(jù)我們的實(shí)際使用經(jīng)驗(yàn),使用 Guava 的 Lists 來把 Array 轉(zhuǎn)換為 List 是我們常用的方法。并且創(chuàng)建的 List 也是可變的。

使用 Commons Collections 的這個(gè)方法是通過 Add 的方法的,感覺這個(gè)方法也比較簡(jiǎn)單,但是用得有點(diǎn)晦澀。

www.ossez.com/t/java-arra…

以上就是詳解Java 如何在 Array 和 List 之間進(jìn)行轉(zhuǎn)換方法的詳細(xì)內(nèi)容,更多關(guān)于Java在Array List間轉(zhuǎn)換的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java事務(wù)管理學(xué)習(xí)之Hibernate詳解

    Java事務(wù)管理學(xué)習(xí)之Hibernate詳解

    hibernate是jdbc輕量級(jí)的封裝,本身不具備事務(wù)管理的能力,在事物管理層面,一般是委托于底層的jdbc和jta來完成調(diào)度的。下面這篇文章主要給大家介紹了Java事務(wù)管理學(xué)習(xí)之Hibernate的相關(guān)資料,需要的朋友可以參考下。
    2017-03-03
  • JAVA十大排序算法之希爾排序詳解

    JAVA十大排序算法之希爾排序詳解

    這篇文章主要介紹了java中的希爾排序,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • 解析java基本數(shù)據(jù)類型傳遞與引用傳遞區(qū)別

    解析java基本數(shù)據(jù)類型傳遞與引用傳遞區(qū)別

    這篇文章主要介紹了java基本數(shù)據(jù)類型傳遞與引用傳遞區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • java實(shí)現(xiàn)多人聊天室可視化

    java實(shí)現(xiàn)多人聊天室可視化

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)多人聊天室可視化,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 深入解析Spring中的立即加載和延遲加載

    深入解析Spring中的立即加載和延遲加載

    本文介紹了Spring框架中的立即加載和延遲加載策略,并解釋了它們的適用場(chǎng)景和使用方法,根據(jù)具體的需求和應(yīng)用場(chǎng)景,選擇合適的加載策略,可以提高應(yīng)用程序的性能和資源利用效率,感興趣的朋友跟隨小編一起看看吧
    2023-07-07
  • 一個(gè)Servlet是如何處理多個(gè)請(qǐng)求的?

    一個(gè)Servlet是如何處理多個(gè)請(qǐng)求的?

    以前我一直以為一個(gè)Servlet只能處理一個(gè)請(qǐng)求,后來發(fā)現(xiàn)是自己太菜了,可以借助攜帶一個(gè)參數(shù)來完成多個(gè)請(qǐng)求的處理,根據(jù)參數(shù)的不同,在核心的service方法中調(diào)用不同的業(yè)務(wù)方法,來實(shí)現(xiàn)處理多個(gè)servlet請(qǐng)求的目的,廢話不多說,直接上代碼,需要的朋友可以參考下
    2021-06-06
  • Java+Spring+MySql環(huán)境中安裝和配置MyBatis的教程

    Java+Spring+MySql環(huán)境中安裝和配置MyBatis的教程

    這篇文章主要介紹了Java+Spring+MySql環(huán)境中安裝和配置MyBatis的教程,MyBatis一般被用來增強(qiáng)數(shù)據(jù)庫操作,文中對(duì)MyBatis的主配置文件有較為詳細(xì)的講解,需要的朋友可以參考下
    2016-04-04
  • Java?BigDecimal類的一般使用、BigDecimal轉(zhuǎn)double方式

    Java?BigDecimal類的一般使用、BigDecimal轉(zhuǎn)double方式

    這篇文章主要介紹了Java?BigDecimal類的一般使用、BigDecimal轉(zhuǎn)double方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • SpringBoot如何從配置文件中讀取配置參數(shù)

    SpringBoot如何從配置文件中讀取配置參數(shù)

    這篇文章主要介紹了SpringBoot如何從配置文件中讀取配置參數(shù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Java利用POI讀取、寫入Excel的方法指南

    Java利用POI讀取、寫入Excel的方法指南

    這篇文章主要給大家介紹了關(guān)于Java利用POI讀取、寫入Excel的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評(píng)論