Strings: las strings en Java son objetos que son compatibles internamente con una array de caracteres. Dado que las arrays son inmutables y las strings también son un tipo de array excepcional que contiene caracteres, las strings también son inmutables.
Array de enteros: una array es una combinación del mismo tipo de variables. Del mismo modo, una colección de enteros (int) a la que se hace referencia con un nombre común es una array de enteros.
Declaración del problema: dada una string, la tarea es convertir esa string en una array de enteros .
Primero veamos algunos ejemplos para que quede más claro.
Ejemplos:
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]
Existen numerosos enfoques para hacer lo mismo; algunos de ellos se enumeran a continuación.
Métodos:
- Usando el método string.replaceAll()
- Usando el método string.split()
Método 1 – Usando el método string.replaceAll()
El método string.replaceAll() toma dos argumentos, una expresión regular y los valores de reemplazo. Este método reemplazará la expresión regular dada con el valor de reemplazo dado y, después de eso, se usa el método split() para dividir la string.
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]
Método 2 – Usando el método string.split()
El método string.split() se usa para dividir la string en varias substrings. Luego, esas substrings se convierten en un número entero mediante el método Integer.parseInt() y almacenan ese valor entero en la array 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 ]
Publicación traducida automáticamente
Artículo escrito por manastole01 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA