當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java String轉String Array用法及代碼示例


給定一個字符串,任務是將字符串轉換為 Java 中的字符串數組。如下圖所示:

示例:

Input:  String : "Geeks for Geeks"
Output: String[]: [Geeks for Geeks]
Input: String    : "A computer science portal"
Output: String[] : [A computer science portal]

方法:

它們如下:

  1. 使用str.split()方法
  2. 使用循環
  3. 使用Set.toArray()方法
  4. 使用字符串分詞器
  5. 使用pattern.split()方法

現在讓我們深入討論實現相同方法的每種方法,以便更好地理解相同方法。它們如下:

方法一:使用str.split()方法

方法:

  • 創建一個字符串類型的數組。
  • 使用string_name.split()分割給定的字符串。
  • 將分割後的數組存儲到字符串數組中。
  • 打印上麵的字符串數組。

示例

Java


// Java Program to Convert String to String Array
// Using str.split() method 
// Importing input output classes
import java.io.*;
// Main class
public class GFG {
    // Main driver method
    public static void main(String[] args)
    {
        // Input string to be convert to string array
        String str = "Geeks for Geeks";
        String strArray[] = str.split(" ");
        System.out.println("String : " + str);
        System.out.println("String array : [ ");
        // Iterating over the string
        for (int i = 0; i < strArray.length; i++) {
            // Printing the elements of String array
            System.out.print(strArray[i] + ", ");
        }
        System.out.print("]");
    }
}
輸出
String : Geeks for Geeks
String array : [ 
Geeks, for, Geeks, ]

方法 2:使用循環

方法:

  • 獲取字符串集。
  • 創建一個空字符串數組
  • 使用高級for循環,將set的每個元素複製到字符串數組
  • 打印字符串數組。

例子:

Java


// Java Program to Convert String to String Array
// Using HashSet and Set classes
// Importing required classes from respective packages
import java.io.*;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
// Main class
class GFG {
    // Method 1
    //  To convert Set<String> to String[]
    public static String[] method(Set<String> string)
    {
        // Create String[] of size of setOfString
        String[] string_array = new String[string.size()];
        // Copy elements from set to string array
        // using advanced for loop
        int index = 0;
        for (String str : string) {
            string_array[index++] = str;
        }
        // Return the formed String[]
        return string_array;
    }
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
        // Custom input string
        String str = "Geeks for Geeks";
        // Getting the Set of String
        Set<String> string_set
            = new HashSet<>(Arrays.asList(str));
        // Printing  the setOfString
        System.out.println("String: " + str);
        // Converting Set to String array
        String[] String_array = method(string_set);
        // Lastly printing the arrayOfString
        // using Arrays.toString() method
        System.out.println("Array of String: "
                           + Arrays.toString(String_array));
    }
}
輸出
String: Geeks for Geeks
Array of String: [Geeks for Geeks]

方法三:使用Set.toArray()方法

方法:

  • 將給定的字符串轉換為字符串集。
  • 現在創建一個空字符串數組。
  • 使用 set.toArray() 通過傳遞字符串類型的空數組將字符串集轉換為字符串數組。
  • 打印字符串數組。

例子:

Java


// Java Program to Convert String to String Array
// Using Set.toArray() method
// Importing required classes from respective packages
import java.io.*;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
// Main class
public class GFG {
    // Method 1
    // To convert Set<String> to string array
    public static String[] convert(Set<String> setOfString)
    {
        // Create String[] from setOfString
        String[] arrayOfString
            = setOfString.toArray(new String[0]);
        // return the formed String[]
        return arrayOfString;
    }
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
        // Custom input string as input
        String str = "Geeks for Geeks";
        // Getting the Set of String
        Set<String> string
            = new HashSet<>(Arrays.asList(str));
        // Printing the setOfString
        System.out.println("String: " + str);
        // Converting Set to String array
        String[] string_array = convert(string);
        // Print the arrayOfString
        // using Arrays.toString() method
        System.out.println("String array : "
                           + Arrays.toString(string_array));
    }
}
輸出
String: Geeks for Geeks
String array : [Geeks for Geeks]

方法四: 使用字符串分詞器

字符串分詞器有助於將字符串對象分割成越來越小的部分。這些較小的部分稱為令牌。

  1. 對給定的字符串進行標記
  2. 創建一個字符串類型的數組,其大小為令牌計數。
  3. 將這些標記存儲到字符串數組中。
  4. 打印字符串數組。

例子:

Java


// Java Program to Convert String to String Array
// Using Set.toArray() method
// Importing required classes from respective packages
import java.io.*;
import java.util.StringTokenizer;
// Main class
public class GFG {
    // Main driver method
    public static void main(String[] args)
    {
        // Declaring and initializing integer variable
        // to zero
        int i = 0;
        // Custom input string as input
        String str = "Geeks for Geeks";
        // Tokenize a given string using the default
        // delimiter
        StringTokenizer str_tokenizer
            = new StringTokenizer(str);
        String[] string_array
            = new String[str_tokenizer.countTokens()];
        // Add tokens to our array
        while (str_tokenizer.hasMoreTokens()) {
            string_array[i] = str_tokenizer.nextToken();
            i++;
        }
        // Print and display the string
        System.out.print("String :" + str);
        // Display message
        System.out.print("\nString array : [ ");
        // Printing the string array
        // using for each loop
        for (String string : string_array) {
            System.out.print(string + " ");
        }
        System.out.print("]");
    }
}
輸出
String :Geeks for Geeks
String array : [ Geeks for Geeks ]

方法5:使用pattern.split()方法

這個pattern.split()方法的目的是根據給定的模式將給定的字符串分解為數組。我們可以通過給出一些特定的模式來分割字符串。

方法:

  1. 定義模式 (REGEX)
  2. 然後使用編譯方法創建模式
  3. 然後使用分割字符串圖案.split()具有特定的模式並將其存儲在數組中。
  4. 打印字符串數組

例子:

Java


// Java Program to Convert String to String Array
// Using Set.toArray() method
// Importing required classes from respective packages
import java.io.*;
import java.util.regex.Pattern;
// Main class
public class GFG {
    // Main driver method
    public static void main(String[] args)
    {
        // Custom string as input
        String str = "Geeks for Geeks";
        // Step 1: Define REGEX
        String my_pattern = "\\s";
        // Step 2: Create a pattern using compile method
        Pattern pattern = Pattern.compile(my_pattern);
        // Step 3: Create an array of strings using the
        // pattern we already defined
        String[] string_array = pattern.split(str);
        // Print and display string and
        // its corresponding string array
        System.out.print("String : " + str);
        System.out.print("\nString array : [ ");
        // Iterating over the string
        for (int i = 0; i < string_array.length; i++) {
            // Printing the string array
            System.out.print(string_array[i] + " ");
        }
        System.out.print("]");
    }
}
輸出
String : Geeks for Geeks
String array : [ Geeks for Geeks ]


相關用法


注:本文由純淨天空篩選整理自manastole01大神的英文原創作品 Java Program to Convert String to String Array。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。