Java中List轉(zhuǎn)Array的兩種主要方式
一、List轉(zhuǎn)Array介紹
在JAVA編程中,List和Array都是很常見的數(shù)據(jù)類型。它們都可以儲存多個相同類型的元素,由于使用場景不同,某些情況下需要將List轉(zhuǎn)換成Array。List轉(zhuǎn)換成Array主要有兩種方式:
1. 利用List的toArray()方法;
2. 利用Collection的toArray()方法。
二、List的toArray()方法
List的toArray()方法可以將List類型的集合轉(zhuǎn)換為數(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]上述代碼中,通過list.toArray(array)將List類型的集合轉(zhuǎn)換成String類型的數(shù)組。
需要注意的是,在List類型轉(zhuǎn)換成數(shù)組時,需要預先聲明數(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ù)類型來接受,T代表數(shù)據(jù)類型,[]代表的是數(shù)組,即在toArray()方法中傳入一個具體數(shù)據(jù)類型的數(shù)組即可。直接返回的就是具體數(shù)據(jù)類型的數(shù)組對象。
長度定義方式一:直接給0即new String[0],如果長度不夠,系統(tǒng)會自動加長度,這樣就消耗了系統(tǒng)的資源。
長度定義方式二:長度給的過長,但是這些多余的長度還在系統(tǒng)中存在,就形成了一個內(nèi)存的浪費。
長度定義方式三:就是在定義String[]數(shù)組的時候,使用集合的長度來定義數(shù)組的長度,因為集合的長度已經(jīng)定了,其元素的個數(shù)也已經(jīng)定了。
上述代碼實現(xiàn)了Collection類型轉(zhuǎn)換成String類型數(shù)組的功能。
需要注意的是,Collection的toArray()方法在執(zhí)行時,需要傳入指定類型的類型參數(shù),否則會拋出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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
seata-1.4.0安裝及在springcloud中使用詳解
這篇文章主要介紹了seata-1.4.0安裝及在springcloud中使用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12

