Java數(shù)組轉(zhuǎn)換為集合的相關(guān)方法
當(dāng)將Java數(shù)組轉(zhuǎn)換為集合時(shí),可以使用不同的方法來滿足不同的需求。以下是幾個(gè)與數(shù)組轉(zhuǎn)換為集合相關(guān)的方法:
一、使用 Arrays.asList 方法:
如前所述,Arrays.asList 方法是最常見的將數(shù)組轉(zhuǎn)換為集合的方法。它返回一個(gè)固定大小的 List 視圖,因此不能進(jìn)行添加或刪除操作。示例代碼如下:
Integer[] intArray = {1, 2, 3, 4, 5};
List<Integer> intList = Arrays.asList(intArray);

二、使用 ArrayList 構(gòu)造函數(shù):
如果希望獲得一個(gè)可變的集合,可以將 Arrays.asList 的結(jié)果作為構(gòu)造函數(shù)參數(shù)傳遞給 ArrayList。這樣可以在集合中添加、刪除元素。示例代碼如下:
Integer[] intArray = {1, 2, 3, 4, 5};
List<Integer> intList = new ArrayList<>(Arrays.asList(intArray));
intList.add(6);

三、使用循環(huán)遍歷數(shù)組:
你也可以使用循環(huán)來手動(dòng)將數(shù)組中的元素添加到集合中。這樣做可以更精細(xì)地控制集合的創(chuàng)建過程。示例代碼如下:
Integer[] intArray = {1, 2, 3, 4, 5};
List<Integer> intList = new ArrayList<>();
for (Integer num : intArray) {
intList.add(num);
}

四、使用 Java 8+ 的 Stream API:
如果你使用 Java 8 及更高版本,可以使用 Stream API 來進(jìn)行數(shù)組到集合的轉(zhuǎn)換。這可以在一行代碼中完成。示例代碼如下:
Integer[] intArray = {1, 2, 3, 4, 5};
List<Integer> intList = Arrays.stream(intArray).collect(Collectors.toList());

解釋: Arrays.stream(intArray) 創(chuàng)建了一個(gè)整數(shù)流,其中包含來自intArray的元素。.collect(Collectors.toList()) 收集流的元素,并使用Collectors.toList()方法創(chuàng)建一個(gè)列表。
補(bǔ)充:Arrays.asList說明
Integer[] a = {1,2,3,4,5,6};//使用Arrays.asList(a)時(shí) 數(shù)組需要定義為包裝類新
List<Integer> integers = Arrays.asList(a);
System.out.println(integers.getClass());//class java.util.Arrays$ArrayList
integers.forEach(System.out::println);
建議不要輕易使用Arrays.asList方法,這個(gè)方法返回的是Arrays的內(nèi)部類ArrayList,該內(nèi)部類繼承了AbstractList并且標(biāo)注為RandomAccess與Serializable的,他的底層還是數(shù)組,也沒有實(shí)現(xiàn)修改集合的操作,如圖


總結(jié)
到此這篇關(guān)于Java數(shù)組轉(zhuǎn)換為集合的文章就介紹到這了,更多相關(guān)Java數(shù)組轉(zhuǎn)換集合內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺析Java中XPath和JsonPath以及SpEL的用法與對(duì)比
XPath,即XML路徑語言,是一種用于在XML文檔中查找信息的語言,JsonPath是從XPath中發(fā)展而來的,專門用于JSON數(shù)據(jù)格式,本文主要來講講他們的用法與區(qū)別,需要的可以參考下2023-11-11
SpringBoot的@Scheduled和@Schedules區(qū)別小結(jié)
本文主要介紹了SpringBoot的@Scheduled和@Schedules區(qū)別小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01
springboot如何連接兩個(gè)數(shù)據(jù)庫(kù)(多個(gè))
這篇文章主要介紹了springboot如何連接兩個(gè)數(shù)據(jù)庫(kù)(多個(gè)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
詳解如何用SpringBoot 2.3.0.M1創(chuàng)建Docker映像
這篇文章主要介紹了詳解如何用SpringBoot 2.3.0.M1創(chuàng)建Docker映像,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
springboot通過spel結(jié)合aop實(shí)現(xiàn)動(dòng)態(tài)傳參的案例
SpEl 是Spring框架中的一個(gè)利器,Spring通過SpEl能在運(yùn)行時(shí)構(gòu)建復(fù)雜表達(dá)式、存取對(duì)象屬性、對(duì)象方法調(diào)用等,今天通過本文給大家介紹springboot?spel結(jié)合aop實(shí)現(xiàn)動(dòng)態(tài)傳參,需要的朋友可以參考下2022-07-07

