Dada una lista de personajes. Escriba un programa Java para convertir la lista dada en una string.
Input : list = {'g', 'e', 'e', 'k', 's'} Output : "geeks" Input : list = {'a', 'b', 'c'} Output : "abc"
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.
Lista: la lista en Java implementa la capacidad de administrar la colección ordenada. Comprende las técnicas basadas en índices para insertar, actualizar, eliminar y buscar los elementos de la lista. También puede tener elementos duplicados. La interfaz List se encuentra en el paquete java.util y hereda la interfaz Collection.
Enfoques
Existen numerosos enfoques para convertir la lista de caracteres en strings en Java. Estos son –
- Usando la clase StringBuilder
- Usando el método join() de la clase Joiner
- Usando el método List.toString(), String.substring() y String.replaceAll()
- Uso de recopiladores
1. Usando la clase StringBuilder
Una solución simple sería iterar a través de la lista y crear una nueva string con la ayuda de la clase StringBuilder, como se muestra a continuación:
Java
// Java program for convert character list to string import java.util.Arrays; import java.util.List; // Convert List of Characters to String in Java class GFG { public static void main(String[] args) { // create character list and initialize List<Character> str = Arrays.asList('G', 'e', 'e', 'k', 's'); System.out.println("List - " + str); // create object of StringBuilder class StringBuilder sb = new StringBuilder(); // Appends characters one by one for (Character ch : str) { sb.append(ch); } // convert in string String string = sb.toString(); // print string System.out.println("String - " + string); } }
List - [G, e, e, k, s] String - Geeks
2. Usando el método join() de Joiner Class
La clase Joiner se puede usar para unir piezas al texto especificado como una array y devolver los resultados como una string. Este método también se llama método de guayaba.
Java
// Java program for convert character list to string import com.google.common.base.Joiner; import java.util.*; // Convert List of Characters to String in Java class GFG { public static void main(String[] args) { // create character list and initialize List<Character> str = Arrays.asList('G', 'e', 'e', 'k'); System.out.println("List - " + str); // convert in string // use join() method String string = Joiner.on("").join(str); // print string System.out.println("String - " + string); } }
List - [G, e, e, k] String - Geek
3. Usando el método List.toString(), String.substring() y String.replaceAll()
El método toString() en una lista devuelve una string que está entre corchetes y tiene comas entre los elementos. La idea es deshacerse de los corchetes usando el método substring() y reemplazar la coma y el espacio usando el método replaceAll().
La implementación del método anterior se proporciona a continuación:
Java
// Java program for convert character list to string import java.util.*; // Convert List of Characters to String in Java class GFG { public static void main(String[] args) { // create character list and initialize List<Character> str = Arrays.asList('G', 'e', 'e', 'k'); System.out.println("List - " + str); // convert in string // remove [] and spaces String string = str.toString() .substring(1, 3 * str.size() - 1) .replaceAll(", ", ""); // print string System.out.println("String - " + string); } }
List - [G, e, e, k] String - Geek
4. Uso de recopiladores en Java
En Java 8, podemos hacer uso de la API de transmisión con recopiladores.
Implemente el método anterior:
Java
// Java program for convert character list to string import java.util.*; import java.util.stream.Collectors; // Convert List of Characters to String in Java class GFG { public static void main(String[] args) { // create character list and initialize List<Character> str = Arrays.asList('G', 'e', 'e', 'k'); System.out.println("List - " + str); // convert in string // using collect and joining() method String string = str.stream() .map(String::valueOf) .collect(Collectors.joining()); // print string System.out.println("String - " + string); } }
List - [G, e, e, k] String - Geek