Java Set.toArray()方法:用Set集合中的所有物件建立一個陣列

2020-07-16 10:04:51
Java 集合類中的 Set.toArray() 方法可以用 Set 集合中的所有物件建立一個陣列。

語法1

根據 Set 集合的大小,生成相同長度的陣列,該陣列包含了 Set 集合中的所有內容。

toArray()

範例

把 Set 集合中的所有內容儲存到一個新的陣列中。
public static void main(String[] args){
    Set set = new HashSet();  //定義Set集合物件
    set.add("apple");  //向集合中新增物件
    set.add("computer");
    set.add("book");
    set.add(new Date());
    Object[] toArray = set.toArray();  //獲取集合的陣列形式
    System.out.println("陣列的長度是:"+toArray.length);  //輸出陣列長度
}
執行結果為:
陣列的長度是:4

語法2

使用指定的陣列儲存 Set 集合中的所有內容。

toArray(T[] a)

引數說明:
  • a:是儲存 Set 集合所有內容的陣列。

注意:對於返回值,如果引數指定的陣列能夠容納 Set 集合的所有內容,就使用該陣列儲存 Set 集合中的所有物件,並返回該陣列;否則,返回一個新的能夠容納 Set 集合中所有內容的陣列。

如果引數指定的陣列長度大於 Set 集合的大小,那麼陣列的剩餘空間全部複製為 null 值。

典型應用

本範例把 Set 集合的所有內容輸出到超出 Set 集合大小的陣列中。超出 Set 集合的部分內容使用 null 代替。程式碼如下:
public static void main(String[] args){
    Set set = new HashSet();  //定義Set集合
    set.add("apple");  //向集合中新增物件
    set.add("computer");
    set.add("book");
    set.add("String也是物件,不是基本資料型別");
    String[] strArray = new String[6];  //定義長度為6的字串陣列
    String[] toArray = (String[])set.toArray(strArray);  //將集合轉換為字串陣列形式
    System.out.println("陣列的長度是:"+toArray.length);  //輸出陣列長度
    for(String string:toArray){  //迴圈遍歷字串陣列
    System.out.println(string);  //輸出字串陣列內容
  }
}
執行結果如下:
陣列的長度是:6
computer
String也是物件,不是基本資料型別
apple
book
null
null