Java中數(shù)組與集合的相互轉(zhuǎn)換實(shí)現(xiàn)解析
這篇文章主要介紹了Java中數(shù)組與集合的相互轉(zhuǎn)換實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
- List轉(zhuǎn)數(shù)組:采用集合的toArray()方法
- 數(shù)組轉(zhuǎn)List:采用Arrays的asList()方法
數(shù)組轉(zhuǎn)換為集合
注意:在數(shù)組轉(zhuǎn)集合的過(guò)程中,要注意是否使用了視圖的方式直接返回?cái)?shù)組中的數(shù)據(jù)。以Arrays.asList()為例,它把數(shù)組轉(zhuǎn)換成集合時(shí),不能使用其修改集合相關(guān)的方法,它的add/remove/clear方法會(huì)拋出 UnsupportedOperationException異常。
這是因?yàn)锳rrays.asList體現(xiàn)的是適配器模式,后臺(tái)的數(shù)據(jù)仍是原有數(shù)組。asList的返回對(duì)象是一個(gè)Arrays的內(nèi)部類,它并沒(méi)有實(shí)現(xiàn)集合個(gè)數(shù)的相關(guān)修改操作,這也是拋出異常的原因。
集合轉(zhuǎn)數(shù)組
集合轉(zhuǎn)數(shù)組相對(duì)簡(jiǎn)單,一般在適配別人接口的時(shí)候常常用到
代碼例子
public class Main {
public static void main(String[] args) {
//1.數(shù)組轉(zhuǎn)換為集合
String[] strs = new String[3];
strs[0] = "a";
strs[1] = "b";
strs[2] = "c";
List<String> stringList = Arrays.asList(strs);
System.out.println(stringList);
//1.1注意:直接使用add、remove、clear方法會(huì)報(bào)錯(cuò)
// stringList.add("abc");
//1.2如果想要正常的使用add等修改方法,需要重新new一個(gè)ArrayList
List<String> trueStringList = new ArrayList<>(Arrays.asList(strs));
trueStringList.add("abc");
System.out.println(trueStringList);
//2.集合轉(zhuǎn)數(shù)組
List<Integer> integerList = new ArrayList<>();
integerList.add(1);
integerList.add(2);
integerList.add(3);
//新生成的數(shù)組大小一定要大于原List的大小
Integer[] integers = new Integer[3];
integerList.toArray(integers);
System.out.println(Arrays.asList(integers));
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java?Stream?的?sorted實(shí)現(xiàn)自定義排序從基礎(chǔ)到高級(jí)技巧
本文將介紹如何使用sorted()方法實(shí)現(xiàn)自定義排序,涵蓋各種常見(jiàn)場(chǎng)景和高級(jí)技巧,通過(guò)掌握?sorted()?方法的各種用法,你可以靈活應(yīng)對(duì)各種復(fù)雜的排序需求,編寫(xiě)出簡(jiǎn)潔、高效且易于維護(hù)的代碼,需要的朋友跟隨小編一起學(xué)習(xí)吧2025-08-08
Spring Boot如何使用Spring Security進(jìn)行安全控制
要實(shí)現(xiàn)訪問(wèn)控制的方法多種多樣,可以通過(guò)Aop、攔截器實(shí)現(xiàn),也可以通過(guò)框架實(shí)現(xiàn),本文將具體介紹在Spring Boot中如何使用Spring Security進(jìn)行安全控制。2017-04-04
Spring Security實(shí)現(xiàn)身份認(rèn)證和授權(quán)的示例代碼
在 Spring Boot 應(yīng)用中使用 Spring Security 可以非常方便地實(shí)現(xiàn)用戶身份認(rèn)證和授權(quán),本文主要介紹了Spring Security實(shí)現(xiàn)身份認(rèn)證和授權(quán)的示例代碼,感興趣的可以了解一下2023-06-06
idea配置檢查XML中SQL語(yǔ)法及書(shū)寫(xiě)sql語(yǔ)句智能提示的方法
idea連接了數(shù)據(jù)庫(kù),也可以執(zhí)行SQL查到數(shù)據(jù),但是無(wú)法識(shí)別sql語(yǔ)句中的表導(dǎo)致沒(méi)有提示,下面這篇文章主要給大家介紹了關(guān)于idea配置檢查XML中SQL語(yǔ)法及書(shū)寫(xiě)sql語(yǔ)句智能提示的相關(guān)資料,需要的朋友可以參考下2023-03-03
mybatis-plus用insertBatchSomeColumn方法批量新增指定字段
mybatisPlus底層的新增方法是一條一條的新增的,下面這篇文章主要給大家介紹了關(guān)于mybatis-plus用insertBatchSomeColumn方法批量新增指定字段的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05
redis防止重復(fù)提交的實(shí)現(xiàn)示例
在開(kāi)發(fā)中我們都需要處理重復(fù)提交的問(wèn)題,本文主要介紹了redis防止重復(fù)提交的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06
springboot訪問(wèn)靜態(tài)資源遇到的坑及解決
這篇文章主要介紹了springboot訪問(wèn)靜態(tài)資源遇到的坑及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
mybatis-plus更新策略部分字段不更新問(wèn)題
這篇文章主要介紹了mybatis-plus更新策略部分字段不更新問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
SpringMVC的簡(jiǎn)單傳值(實(shí)現(xiàn)代碼)
下面小編就為大家?guī)?lái)一篇SpringMVC的簡(jiǎn)單傳值(實(shí)現(xiàn)代碼)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05

