List與array的相互轉換,array相互轉換
1、List->Array
調用List的toArray方法
List<String> list = new ArrayList<String>();list.add("1");list.add("2");list.add("3");String[] strings = list.toArray(new String[list.size()]);
2、Array->List
調用Array的asList方法
String[] strings = {"1","2","3","4"};List<String> list = Arrays.asList(strings);
以上。
數組轉成List
用一句話。。。好像不太行哦。。。
因為List<int>是不對的,只能是List<Integer>,int是基礎資料型別 (Elementary Data Type),而Integer是一個封裝類。List<>這裡面不能是基礎資料型別 (Elementary Data Type),要是基礎資料型別 (Elementary Data Type)的封裝類。
如果數組是Integer[] s = {5,3,4,6,2,7}
就可以用一句話:List<Integer> list = new ArrayList<Integer>(Arrays.asList(s));來實現。
如果數組是int[] s = {5, 3, 4, 6, 2, 7};用一句話我也還沒想出來。
在Java中,ArrayList與數組怎相互轉換,寫出例子
參考Java API 原話:
public static <T> List<T> asList(T... a)
返回一個受指定數組支援的固定大小的列表。(對返回列表的更改會“直接寫”到數組。)
此方法同 Collection.toArray() 一起,充當了基於數組的 API 與基於 collection 的 API 之間的橋樑。返回的列表是可序列化的,並且實現了 RandomAccess。
例子:
public static void main(String[] args) {
// 數群組轉換為List,其中參數為任意類型
List<String> list = Arrays.asList(new String[]{"ss","sss"});
// List轉換為數組,參數指定數組的類型
String[] a = list.toArray(new String[0]);
// 列印
System.out.println(list);
for(String b : a){
System.out.print(b+" ");
}
}