Java 把字符串集转换为字符串数组

Java 把字符串集转换为字符串数组

给定一个字符串集,任务是在Java中把这个字符串集转换成一个字符串数组。

例子。
Input : Set<String>: ["ForGeeks", "A Computer Portal", "Geeks"]
Output : String[]: ["ForGeeks", "A Computer Portal", "Geeks"]

Input : Set<String>: ["G", "e", "k", "s"]
Output : String[]: ["G", "e", "k", "s"]

建议:请先在 {IDE}上尝试你的方法,然后再继续解决。

  • 方法 1: Naive 方法.
    1. 获取字符串集。
    2. 创建一个空的字符串数组,其大小与字符串集的大小相同。
    3. 使用高级for循环,将字符串集的每个元素复制到字符串数组中。
    4. 返回或打印字符串数组。

下面是上述方法的实现。

// Java program to convert
// Set of Strings to Array of Strings
  
import java.util.Arrays;
import java.util.Set;
import java.util.HashSet;
  
class GFG {
  
    // Function to convert Set<String> to String[]
    public static String[] convert(Set<String> setOfString)
    {
  
        // Create String[] of size of setOfString
        String[] arrayOfString = new String[setOfString.size()];
  
        // Copy elements from set to string array
        // using advanced for loop
        int index = 0;
        for (String str : setOfString)
            arrayOfString[index++] = str;
  
        // return the formed String[]
        return arrayOfString;
    }
  
    public static void main(String[] args)
    {
  
        // Get the Set of String
        Set<String>
            setOfString = new HashSet<>(
                Arrays.asList("Geeks",
                              "ForGeeks",
                              "A Computer Portal"));
  
        // Print the setOfString
        System.out.println("Set of String: "
                           + setOfString);
  
        // Convert Set to String array
        String[] arrayOfString = convert(setOfString);
  
        // Print the arrayOfString
        System.out.println("Array of String: "
                           + Arrays.toString(arrayOfString));
    }
}

输出:

Set of String: [ForGeeks, A Computer Portal, Geeks]
Array of String: [ForGeeks, A Computer Portal, Geeks]
  • 方法 2 : 使用 Set.toArray() 方法.
    1. 获取字符串集。
    2. 使用Set.toArray()方法将字符串集转换为字符串数组,传递一个 空的字符串类型的数组。JVM将为字符串数组分配内存。
    3. 返回或打印字符串数组。

下面是上述方法的实现。

// Java program to convert
// Set of Strings to Array of Strings
  
import java.util.Arrays;
import java.util.Set;
import java.util.HashSet;
  
class GFG {
  
    // Function to convert Set<String> to String[]
    public static String[] convert(Set<String> setOfString)
    {
  
        // Create String[]  from setOfString
        String[] arrayOfString = setOfString
                                     .toArray(new String[0]);
  
        // return the formed String[]
        return arrayOfString;
    }
  
    public static void main(String[] args)
    {
  
        // Get the Set of String
        Set<String>
            setOfString = new HashSet<>(
                Arrays.asList("Geeks",
                              "ForGeeks",
                              "A Computer Portal"));
  
        // Print the setOfString
        System.out.println("Set of String: "
                           + setOfString);
  
        // Convert Set to String array
        String[] arrayOfString = convert(setOfString);
  
        // Print the arrayOfString
        System.out.println("Array of String: "
                           + Arrays.toString(arrayOfString));
    }
}

输出:

Set of String: [ForGeeks, A Computer Portal, Geeks]
Array of String: [ForGeeks, A Computer Portal, Geeks]
  • 方法 3 : 使用 Arrays.copyOf() 方法.
    1. 获取字符串集。
    2. 使用Arrays.copyOf()方法将字符串集转换为字符串数组,方法是将字符串集、字符串集的大小和所需的输出类型作为String[]传递。
    3. 返回或打印字符串数组。

下面是上述方法的实现。

// Java program to convert
// Set of Strings to Array of Strings
  
import java.util.Arrays;
import java.util.Set;
import java.util.HashSet;
  
class GFG {
  
    // Function to convert Set<String> to String[]
    public static String[] convert(Set<String> setOfString)
    {
  
        // Create String[]  from setOfString
        String[] arrayOfString = Arrays
                                     .copyOf(
                                         setOfString.toArray(),
                                         setOfString.size(),
                                         String[].class);
  
        // return the formed String[]
        return arrayOfString;
    }
  
    public static void main(String[] args)
    {
  
        // Get the Set of String
        Set<String>
            setOfString = new HashSet<>(
                Arrays.asList("Geeks",
                              "ForGeeks",
                              "A Computer Portal"));
  
        // Print the setOfString
        System.out.println("Set of String: "
                           + setOfString);
  
        // Convert Set to String array
        String[] arrayOfString = convert(setOfString);
  
        // Print the arrayOfString
        System.out.println("Array of String: "
                           + Arrays.toString(arrayOfString));
    }
}

输出:

Set of String: [ForGeeks, A Computer Portal, Geeks]
Array of String: [ForGeeks, A Computer Portal, Geeks]
  • 方法 4 : 使用 System.arraycopy() 方法.
    1. 获取字符串集。
    2. 使用System.arraycopy()方法将字符串集转换为字符串数组。
    3. 返回或打印字符串数组。

下面是上述方法的实现。

// Java program to convert
// Set of Strings to Array of Strings
  
import java.util.Arrays;
import java.util.Set;
import java.util.HashSet;
  
class GFG {
  
    // Function to convert Set<String> to String[]
    public static String[] convert(Set<String> setOfString)
    {
  
        // Create String[] of size of setOfString
        String[] arrayOfString = new String[setOfString.size()];
  
        // Convert setOfString to String[]
        System.arraycopy(
            // source
            setOfString.toArray(),
  
            // from index to be copied from Source
            0,
  
            // Destination
            arrayOfString,
  
            // From index where to be copied in Destination
            0,
  
            // Number of elements to be copied
            setOfString.size());
  
        // return the formed String[]
        return arrayOfString;
    }
  
    public static void main(String[] args)
    {
  
        // Get the Set of String
        Set<String>
            setOfString = new HashSet<>(
                Arrays.asList("Geeks",
                              "ForGeeks",
                              "A Computer Portal"));
  
        // Print the setOfString
        System.out.println("Set of String: "
                           + setOfString);
  
        // Convert Set to String array
        String[] arrayOfString = convert(setOfString);
  
        // Print the arrayOfString
        System.out.println("Array of String: "
                           + Arrays.toString(arrayOfString));
    }
}

输出:

Set of String: [ForGeeks, A Computer Portal, Geeks]
Array of String: [ForGeeks, A Computer Portal, Geeks]
  • 方法 5 : 使用 Java 8 Streams.
    1. 获取字符串集。
    2. 使用stream()方法将字符串集转换为流。
    3. 使用toArray()方法将流转换为String[]
    4. 返回或打印字符串数组。

下面是上述方法的实现。

// Java program to convert
// Set of Strings to Array of Strings
  
import java.util.Arrays;
import java.util.Set;
import java.util.HashSet;
  
class GFG {
  
    // Function to convert Set<String> to String[]
    public static String[] convert(Set<String> setOfString)
    {
  
        // Create String[] from setOfString
        String[] arrayOfString = setOfString
  
                                     // Convert Set of String
                                     // to Stream<String>
                                     .stream()
  
                                     // Convert Stream<String>
                                     // to String[]
                                     .toArray(String[] ::new);
  
        // return the formed String[]
        return arrayOfString;
    }
  
    public static void main(String[] args)
    {
  
        // Get the Set of String
        Set<String>
            setOfString = new HashSet<>(
                Arrays.asList("Geeks",
                              "ForGeeks",
                              "A Computer Portal"));
  
        // Print the setOfString
        System.out.println("Set of String: "
                           + setOfString);
  
        // Convert Set to String array
        String[] arrayOfString = convert(setOfString);
  
        // Print the arrayOfString
        System.out.println("Array of String: "
                           + Arrays.toString(arrayOfString));
    }
}

输出:

Set of String: [ForGeeks, A Computer Portal, Geeks]
Array of String: [ForGeeks, A Computer Portal, Geeks]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程