如何在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对象是一个集合(对象),但该对象存储了另一个对象,但它不允许重复的元素,并且最多允许为null值。

将数组转换为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对象提供一种称为的方法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

以上是 如何在Java中将数组转换为Set,反之亦然? 的全部内容, 来源链接: utcz.com/z/348847.html

回到顶部