字符串 - Java 中的字符串是 char 數組內部支持的對象。由於數組是不可變的,而字符串也是一種保存字符的特殊數組,因此字符串也是不可變的。
整數數組 - 數組是相同類型變量的組合。同樣,由通用名稱引用的整數 (int) 的集合是整數數組。
問題陳述 - 給定一個字符串,任務是將該字符串轉換為整數數組。
讓我們首先通過幾個例子來使其更清楚。
例子:
Input : String : "1 23 456 7890" Output : Integer array : [1 23 456 7890]
Input : String : "[1,2,356,678,3378]" Output : Integer array : [1, 2, 356, 678, 3378]
有許多方法可以做到這一點;下麵列出了其中一些。
方法:
- 使用 string.replaceAll() 方法
- 使用 string.split() 方法
方法 1 -使用 string.replaceAll() 方法
string.replaceAll() 方法采用兩個參數、一個正則表達式和替換值。此方法將用給定的替換值替換給定的正則表達式,然後使用 split() 方法來拆分字符串。
Java
// Java Program to Convert String to Integer Array
// Using string.replaceAll() method
// Importing input output and utility classes
import java.io.*;
import java.util.Arrays;
public class GFG {
public static void main(String[] args)
{
// declaring the string
String str = "[1,2,356,678,3378]";
// calling replaceAll() method and split() method on
// string
String[] string = str.replaceAll("\\[", "")
.replaceAll("]", "")
.split(",");
// declaring an array with the size of string
int[] arr = new int[string.length];
// parsing the String argument as a signed decimal
// integer object and storing that integer into the
// array
for (int i = 0; i < string.length; i++) {
arr[i] = Integer.valueOf(string[i]);
}
// printing string
System.out.print("String : " + str);
// printing the Integer array
System.out.print("\nInteger array : "
+ Arrays.toString(arr));
}
}
輸出
String : [1,2,356,678,3378] Integer array : [1, 2, 356, 678, 3378]
時間複雜度:O(n)
輔助空間:O(n)
方法2 - 使用string.split()方法
string.split()方法用於將字符串拆分為各個子字符串。然後,使用 Integer.parseInt() 方法將這些子字符串轉換為整數,並將該值整數值存儲到 Integer 數組中。
Java
// Java Program to Convert String to Integer Array
// Using string.split() method
// Importing input output and utility classes
import java.io.*;
public class GFG {
// Function for conversion
static int[] method(String str)
{
String[] splitArray = str.split(" ");
int[] array = new int[splitArray.length];
// parsing the String argument as a signed decimal
// integer object and storing that integer into the
// array
for (int i = 0; i < splitArray.length; i++) {
array[i] = Integer.parseInt(splitArray[i]);
}
return array;
}
// main method
public static void main(String[] args)
{
// Bufferedreader declaration
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
// string declaration
String str = "1 23 456 7890";
int i;
// declaring the variable & calling the method with
// passing string as an argument
int[] array = method(str);
// printing the string
System.out.print("\nString : " + str);
// printing the Integer array
System.out.print("\nInteger array : [");
for (i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
System.out.print("]");
}
}
輸出
String : 1 23 456 7890 Integer array : [1 23 456 7890 ]
時間複雜度:O(n)
輔助空間:O(n)
相關用法
- Java String轉Int用法及代碼示例
- Java String轉IntStream用法及代碼示例
- Java String轉InputStream用法及代碼示例
- Java String轉InetAddress用法及代碼示例
- Java String轉ArrayList用法及代碼示例
- Java String轉Short用法及代碼示例
- Java String轉Byte用法及代碼示例
- Java String轉Date用法及代碼示例
- Java String轉Double用法及代碼示例
- Java String轉Object用法及代碼示例
- Java String轉Float用法及代碼示例
- Java String轉Long用法及代碼示例
- Java String轉Boolean用法及代碼示例
- Java String轉Character用法及代碼示例
- Java String轉LocalDate用法及代碼示例
- Java String轉UUID用法及代碼示例
- Java String轉Timestamp用法及代碼示例
- Java String轉BigInteger用法及代碼示例
- Java String轉Float Value用法及代碼示例
- Java String轉String Array用法及代碼示例
- Java String compareToIgnoreCase()用法及代碼示例
- Java String compareTo()用法及代碼示例
- Java String split()用法及代碼示例
- Java String length()用法及代碼示例
- Java String replace()用法及代碼示例
注:本文由純淨天空篩選整理自manastole01大神的英文原創作品 Java Program to Convert String to Integer Array。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。