Java中List轉(zhuǎn)Array的兩種主要方式
一、List轉(zhuǎn)Array介紹
在JAVA編程中,List和Array都是很常見(jiàn)的數(shù)據(jù)類型。它們都可以儲(chǔ)存多個(gè)相同類型的元素,由于使用場(chǎng)景不同,某些情況下需要將List轉(zhuǎn)換成Array。List轉(zhuǎn)換成Array主要有兩種方式:
1. 利用List的toArray()方法;
2. 利用Collection的toArray()方法。
二、List的toArray()方法
List的toArray()方法可以將List類型的集合轉(zhuǎn)換為數(shù)組類型,其實(shí)現(xiàn)方式如下:
List<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); list.add("JavaScript"); //String[] strings = new String[list.size()]; //list.toArray(strings); String[] strings = list.toArray(new String[list.size()]); System.out.println(Arrays.toString(strings)); //[Java, Python, JavaScript]
上述代碼中,通過(guò)list.toArray(array)將List類型的集合轉(zhuǎn)換成String類型的數(shù)組。
需要注意的是,在List類型轉(zhuǎn)換成數(shù)組時(shí),需要預(yù)先聲明數(shù)組類型及其大小。
三、Collection的toArray()方法
public Object[] toArray();
public <T> T[] toArray(T[] a);
Collection的toArray()方法可以將Collection類型的集合轉(zhuǎn)換為數(shù)組類型,使用方式如下:
Collection<String> collection = new ArrayList<>(); collection.add("Java"); collection.add("Python"); collection.add("JavaScript"); Object[] objects = collection.toArray(); String[] strings = Arrays.copyOf(objects, objects.length, String[].class); System.out.println(Arrays.toString(strings)); //[Java, Python, JavaScript]
public <T> T[] toArray(T[] a)的使用
在toArray參數(shù)中直接確定使用什么數(shù)據(jù)類型來(lái)接受,T代表數(shù)據(jù)類型,[]代表的是數(shù)組,即在toArray()方法中傳入一個(gè)具體數(shù)據(jù)類型的數(shù)組即可。直接返回的就是具體數(shù)據(jù)類型的數(shù)組對(duì)象。
長(zhǎng)度定義方式一:直接給0即new String[0],如果長(zhǎng)度不夠,系統(tǒng)會(huì)自動(dòng)加長(zhǎng)度,這樣就消耗了系統(tǒng)的資源。
長(zhǎng)度定義方式二:長(zhǎng)度給的過(guò)長(zhǎng),但是這些多余的長(zhǎng)度還在系統(tǒng)中存在,就形成了一個(gè)內(nèi)存的浪費(fèi)。
長(zhǎng)度定義方式三:就是在定義String[]數(shù)組的時(shí)候,使用集合的長(zhǎng)度來(lái)定義數(shù)組的長(zhǎng)度,因?yàn)榧系拈L(zhǎng)度已經(jīng)定了,其元素的個(gè)數(shù)也已經(jīng)定了。
上述代碼實(shí)現(xiàn)了Collection類型轉(zhuǎn)換成String類型數(shù)組的功能。
需要注意的是,Collection的toArray()方法在執(zhí)行時(shí),需要傳入指定類型的類型參數(shù),否則會(huì)拋出ClassCastException類型的異常。
附:Array 轉(zhuǎn) List
String[] string=new String[]{"s1","s2","s3","s4","s5"}; List<String> li= Arrays.asList(string); System.out.println(li);
總結(jié)
到此這篇關(guān)于Java中List轉(zhuǎn)Array的兩種主要方式的文章就介紹到這了,更多相關(guān)Java List轉(zhuǎn)Array內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot+layuimini實(shí)現(xiàn)左側(cè)菜單動(dòng)態(tài)展示的示例代碼
Layuimini是Layui的升級(jí)版,它是專業(yè)做后臺(tái)頁(yè)面的框架,而且是適合PC端和移動(dòng)端,以下地址可以在PC端顯示,也可以在手機(jī)上顯示,只不過(guò)會(huì)做自適應(yīng),本文將給大家介紹了SpringBoot+layuimini實(shí)現(xiàn)左側(cè)菜單動(dòng)態(tài)展示的方法,需要的朋友可以參考下2024-04-04詳解Kotlin 高階函數(shù) 與 Lambda 表達(dá)式
這篇文章主要介紹了詳解Kotlin 高階函數(shù) 與 Lambda 表達(dá)式的相關(guān)資料,需要的朋友可以參考下2017-06-06