本文實例講述了java實現列表、集合與數組之間轉化的方法。分享給大家供大家參考。具體實現方法如下:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class Test2 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
// list.add(1);//會產生java.lang.ArrayStoreException異常
// 當list中的數據類型都一致時可以將list轉化為數組
Object[] array = list.toArray();
System.out.println("從list轉換成的對象數組長度為:" + array.length);
// 在轉化為其它類型的數組時需要強制類型轉換,并且,要使用帶參數的toArray方法,參數為對象數組,
// 將list中的內容放入參數數組中,當參數數組的長度小于list的元素個數時,會自動擴充數組的長度以適應list的長度
String[] array1 = (String[]) list.toArray(new String[0]);
System.out.println("從list轉換成的字符串數組長度為:" + array1.length);
// 分配一個長度與list的長度相等的字符串數組
String[] array2 = (String[]) list.toArray(new String[list.size()]);
System.out.println("從list轉換成的字符串數組長度為:" + array2.length);
list.clear();
// 將數組轉換成list
for (int i = 0; i < array.length; i++) {
list.add(array[i]);
}
System.out.println("將數組轉換成list的元素個數為:" + list.size());
list.clear();
// 直接使用Arrays的asList方法
list = Arrays.asList(array);
System.out.println("將數組轉換成list的元素個數為:" + list.size());
Set set = new HashSet();
set.add("a");
set.add("b");
// 將set轉換為數組
array = set.toArray();
array1 = (String[]) set.toArray(new String[0]);
array2 = (String[]) set.toArray(new String[set.size()]);
System.out.println("從Set轉換成的對象數組長度為:" + array.length);
System.out.println("從Set轉換成的字符串數組長度為:" + array2.length);
// 數組轉換成Set
// 將數組轉換成List后,再用List構造Set
set = new HashSet(Arrays.asList(array));
System.out.println("將數組轉換成Set的元素個數為:" + list.size());
// 將Set清空,然后把數組轉換成的list全部add
set.clear();
set.addAll(Arrays.asList(array1));
System.out.println("將數組轉換成Set的元素個數為:" + list.size());
}
}
希望本文所述對大家的java程序設計有所幫助。