Java中數(shù)組與集合的相互轉(zhuǎn)換實現(xiàn)解析
這篇文章主要介紹了Java中數(shù)組與集合的相互轉(zhuǎn)換實現(xiàn)解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
- List轉(zhuǎn)數(shù)組:采用集合的toArray()方法
- 數(shù)組轉(zhuǎn)List:采用Arrays的asList()方法
數(shù)組轉(zhuǎn)換為集合
注意:在數(shù)組轉(zhuǎn)集合的過程中,要注意是否使用了視圖的方式直接返回數(shù)組中的數(shù)據(jù)。以Arrays.asList()為例,它把數(shù)組轉(zhuǎn)換成集合時,不能使用其修改集合相關(guān)的方法,它的add/remove/clear方法會拋出 UnsupportedOperationException異常。
這是因為Arrays.asList體現(xiàn)的是適配器模式,后臺的數(shù)據(jù)仍是原有數(shù)組。asList的返回對象是一個Arrays的內(nèi)部類,它并沒有實現(xiàn)集合個數(shù)的相關(guān)修改操作,這也是拋出異常的原因。
集合轉(zhuǎn)數(shù)組
集合轉(zhuǎ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方法會報錯 // stringList.add("abc"); //1.2如果想要正常的使用add等修改方法,需要重新new一個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)); } }
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Mybatis-Plus自動填充更新操作相關(guān)字段的實現(xiàn)
數(shù)據(jù)庫表中應(yīng)該都要有create_time、update_time字段;那么在開發(fā)中,對于這些共有字段的處理應(yīng)該要進行統(tǒng)一,這樣就可以簡化我們的開發(fā)過程。那么本文就對Mybatis-Plus中的字段自動填充進行記錄2021-11-11Java 深入淺出分析Synchronized原理與Callable接口
Synchronized關(guān)鍵字解決的是多個線程之間訪問資源的同步性,synchronized關(guān)鍵字可以保證被它修飾的方法或者代碼塊在任意時刻只能有一個線程執(zhí)行,Runnable是執(zhí)行工作的獨立任務(wù),但是不返回任何值。如果我們希望任務(wù)完成之后有返回值,可以實現(xiàn)Callable接口2022-03-03Java Socket編程實現(xiàn)簡單的問候服務(wù)
這篇文章主要為大家介紹了Java Socket編程實現(xiàn)簡單的問候服務(wù),具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-01-01java實現(xiàn)將ftp和http的文件直接傳送到hdfs
前面幾篇文章,我們已經(jīng)做了很好的鋪墊了,幾個要用到的工具我們都做了出來,本文就是將他們集合起來,說下具體的用法,小伙伴們可以參考下。2015-03-03java使用xstream實現(xiàn)xml文件和對象之間的相互轉(zhuǎn)換
xml是一個用途比較廣泛的文件類型,在java里也自帶解析xml的包,但是本文使用的是xstream來實現(xiàn)xml和對象之間的相互轉(zhuǎn)換,xstream是一個第三方開源框架,使用起來比較方便,對java?xml和對象轉(zhuǎn)換相關(guān)知識感興趣的朋友一起看看吧2023-09-09