Java中List轉(zhuǎn)Array的兩種主要方式
一、List轉(zhuǎn)Array介紹
在JAVA編程中,List和Array都是很常見(jiàn)的數(shù)據(jù)類(lèi)型。它們都可以?xún)?chǔ)存多個(gè)相同類(lèi)型的元素,由于使用場(chǎng)景不同,某些情況下需要將List轉(zhuǎn)換成Array。List轉(zhuǎn)換成Array主要有兩種方式:
1. 利用List的toArray()方法;
2. 利用Collection的toArray()方法。
二、List的toArray()方法
List的toArray()方法可以將List類(lèi)型的集合轉(zhuǎn)換為數(shù)組類(lèi)型,其實(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類(lèi)型的集合轉(zhuǎn)換成String類(lèi)型的數(shù)組。
需要注意的是,在List類(lèi)型轉(zhuǎn)換成數(shù)組時(shí),需要預(yù)先聲明數(shù)組類(lèi)型及其大小。
三、Collection的toArray()方法
public Object[] toArray();
public <T> T[] toArray(T[] a);
Collection的toArray()方法可以將Collection類(lèi)型的集合轉(zhuǎn)換為數(shù)組類(lèi)型,使用方式如下:
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)型來(lái)接受,T代表數(shù)據(jù)類(lèi)型,[]代表的是數(shù)組,即在toArray()方法中傳入一個(gè)具體數(shù)據(jù)類(lèi)型的數(shù)組即可。直接返回的就是具體數(shù)據(jù)類(lèi)型的數(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類(lèi)型轉(zhuǎn)換成String類(lèi)型數(shù)組的功能。
需要注意的是,Collection的toArray()方法在執(zhí)行時(shí),需要傳入指定類(lèi)型的類(lèi)型參數(shù),否則會(huì)拋出ClassCastException類(lèi)型的異常。
附: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)文章
seata-1.4.0安裝及在springcloud中使用詳解
這篇文章主要介紹了seata-1.4.0安裝及在springcloud中使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
Spring MVC下 bootStrap服務(wù)器分頁(yè)代碼
因?yàn)镾pring 對(duì)于ajax直接返回對(duì)象,到了WEB頁(yè)面就轉(zhuǎn)換成json 所以不需要使用JSON轉(zhuǎn)換封裝可以直接使用。接下來(lái)通過(guò)本文給大家分享Spring MVC下 bootStrap服務(wù)器分頁(yè)代碼,需要的的朋友參考下2017-03-03

