List轉換爲String[],int[],等等,下面以String爲例java
import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set; /** * 數組與Collection之間的轉換 */ public class ArrayCollection { public static void main(String[] args) { List list = new ArrayList(); list.add("aaa"); list.add("bbb"); list.add("ccc"); list.add("ddd"); //當List中的數據類型都一致時,能夠將list轉化成數組 //轉化成對象數組時,直接調用toArray方法 Object[] objArray = list.toArray(); System.out.println("從list轉化成的對象數組的長度爲: " + objArray.length); //在轉化成其餘類型的數組時,須要強制類型轉換,而且,要使用帶參數的toArray方法。 //toArray方法的參數爲一個對象數組,將list中的內容放入參數數組中 //當參數數組的長度小於list的元素個數時,會自動擴充數組的長度以適應list的長度 String[] strArray1 = (String[])list.toArray(new String[0]); System.out.println("從list轉化成的字符串數組的長度爲: " + strArray1.length); //分配一個長度與list的長度相等的字符串數組。 String[] strArray2 = (String[])list.toArray(new String[list.size()]); System.out.println("從list轉化成的字符串數組的長度爲: " + strArray2.length); list.clear();//清空List //將數組轉化成List list = new ArrayList(Arrays.toList(strArray1)) System.out.println("從數組轉化成的list的元素個數: " + objArray.length); list.clear();//清空List //直接使用Arrays類的asList方法 list = Arrays.asList(objArray); System.out.println("從數組轉化成的list的元素個數: " + objArray.length); Set set = new HashSet(); set.add("aaa"); set.add("bbb"); //Set轉化成數組 objArray = set.toArray(); strArray1 = (String[])set.toArray(new String[0]); strArray2 = (String[])set.toArray(new String[set.size()]); //數組轉換成Set //將數組轉換成List後,再用List構造Set set = new HashSet(Arrays.asList(objArray)); //將Set清空,而後把數組轉換成的List所有add set.clear(); set.addAll(Arrays.asList(strArray1)); } }
結果:數組
從list轉化成的對象數組的長度爲: 4
從list轉化成的字符串數組的長度爲: 4
從list轉化成的字符串數組的長度爲: 4
從數組轉化成的list的元素個數: 4
從數組轉化成的list的元素個數: 4
code