詳解Java如何在Array和List之間進(jìn)行轉(zhuǎn)換
概述
在本文章中,我們對如何在 Java 中對 Array 和 List 進(jìn)行轉(zhuǎn)換進(jìn)行一些說明和示例。
這些示例通過使用 Core Java 和一些第三方的轉(zhuǎn)換工具,例如 Guava 和 Apache Commons Collections。
更多有關(guān)的文章,請訪問:Java - OSSEZ 相關(guān)的內(nèi)容和參與討論。
從 List 轉(zhuǎn)換為 Array
使用原生 Java 代碼
我們可以使用原生 Java 代碼來進(jìn)行轉(zhuǎn)換,在 List 中有一個 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]);
}
需要注意的是,我們在這里使用了
toArray(new T[0])
來對變量進(jìn)行初始化,相對使用
toArray(new T[size])
這個方法。
使用
toArray(new T[0])
來對數(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 中有一個 toArray 的方法,這個方法將會把整數(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);
}
需要注意的是,這個方法轉(zhuǎn)換的 List 是固定長度的 List,你就沒有辦法對這個 List 進(jìn)行相關(guān)操作了。
如果你是希望使用基本的
ArrayList
的話,我們可以簡單的使用
ArrayList
來對其進(jìn)行實例化。
如下面的代碼來進(jìn)行實例化:
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)容填充到一個空的 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);
}這個方法,我們使用的是 CollectionUtils 的工具類來進(jìn)行添加的。
結(jié)論
在 Java 的集合類型直接進(jìn)行轉(zhuǎn)換是我們需要經(jīng)常進(jìn)行操作的方法和需求。
上面介紹了幾種基本的轉(zhuǎn)換方法,根據(jù)我們的實際使用經(jīng)驗,使用 Guava 的 Lists 來把 Array 轉(zhuǎn)換為 List 是我們常用的方法。并且創(chuàng)建的 List 也是可變的。

使用 Commons Collections 的這個方法是通過 Add 的方法的,感覺這個方法也比較簡單,但是用得有點晦澀。
以上就是詳解Java 如何在 Array 和 List 之間進(jìn)行轉(zhuǎn)換方法的詳細(xì)內(nèi)容,更多關(guān)于Java在Array List間轉(zhuǎn)換的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
java中URLencode、URLdecode及Base64加解密轉(zhuǎn)換
本文主要介紹了java中URLencode、URLdecode及Base64加解密轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-01-01
關(guān)于SpringGateway調(diào)用服務(wù) 接受不到參數(shù)問題
這篇文章主要介紹了關(guān)于SpringGateway調(diào)用服務(wù)接受不到參數(shù)問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
mybatis的mapper特殊字符轉(zhuǎn)移及動態(tài)SQL條件查詢小結(jié)
mybatis mapper文件中條件查詢符,如>=,<,之類是不能直接寫的會報錯的需要轉(zhuǎn)移一下,本文給大家介紹了常見的條件查詢操作,對mybatis的mapper特殊字符及動態(tài)SQL條件查詢相關(guān)知識感興趣的朋友一起看看吧2021-09-09
SpringMVC項目訪問controller時候報404的解決
這篇文章主要介紹了SpringMVC項目訪問controller時候報404的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
解決Intellij IDEA 使用Spring-boot-devTools無效的問題
下面小編就為大家?guī)硪黄鉀QIntellij IDEA 使用Spring-boot-devTools無效的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07
Java中語音url轉(zhuǎn)換成InputStream的示例代碼
在Java中,可以使用java.net.URL和java.net.URLConnection類來將語音URL轉(zhuǎn)換為InputStream,本文通過示例代碼介紹Java中語音url轉(zhuǎn)換成InputStream的相關(guān)知識,感興趣的朋友一起看看吧2024-01-01

