如何在Java中將陣列轉換為Set,反之亦然?


陣列是一個容器,可以容納固定數量的相同型別的實體。陣列的每個實體稱為元素,每個元素的位置由一個整數(從0開始)值表示,稱為索引。

示例

import java.util.Arrays;
public class ArrayExample {
   public static void main(String args[]) {
      Number integerArray[] = new Integer[3];
      integerArray[0] = 25;
      integerArray[1] = 32;
      integerArray[2] = 56;
      System.out.println(Arrays.toString(integerArray));
   }
}

輸出

[25, 32, 56]

而Set物件是一個集合(物件),儲存其他物件,它不允許重複元素,並且最多允許一個空值。

將陣列轉換為Set物件

java.util包的Arrays類提供了一個名為asList()的方法。此方法接受一個數組作為引數,並返回一個List物件。使用此方法將陣列轉換為Set。

示例

import java.util.Arrays;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class ArrayToSet {
   public static void main(String args[]){
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter the size of the array to be created ::");
      int size = sc.nextInt();
      String [] myArray = new String[size];
      for(int i=0; i<myArray.length; i++){
         System.out.println("Enter the element "+(i+1)+" (String) :: ");
         myArray[i]=sc.next();
      }
      Set<String> set = new HashSet<>(Arrays.asList(myArray));
      System.out.println("Given array is converted to a Set");
      System.out.println("Contents of set ::"+set);
   }
}

輸出

Enter the size of the array to be created ::
4
Enter the element 1 (String) ::
Ram
Enter the element 2 (String) ::
Rahim
Enter the element 3 (String) ::
Robert
Enter the element 4 (String) ::
Rajeev
Given array is converted to a Set
Contents of set ::[Robert, Rahim, Rajeev, Ram]

Set轉換為陣列

Set物件提供了一個名為toArray()的方法。此方法接受一個空陣列作為引數,將當前Set轉換為陣列並將其放置在給定的陣列中。使用此方法將Set物件轉換為陣列。

示例

import java.util.HashSet;
import java.util.Set;
public class SetToArray {
   public static void main(String args[]){
      Set<String> set = new HashSet<String>();
      set.add("Apple");
      set.add("Orange");
      set.add("Banana");
      System.out.println("Contents of Set ::"+set);
      String[] myArray = new String[set.size()];
      set.toArray(myArray);
      for(int i=0; i<myArray.length; i++){
         System.out.println("Element at the index "+(i+1)+" is ::"+myArray[i]);
      }
   }
}

輸出

Contents of Set ::[Apple, Orange, Banana]
Element at the index 1 is ::Apple
Element at the index 2 is ::Orange
Element at the index 3 is ::Banana

更新於: 2020年7月3日

2K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告