Intercambio de caracteres de una string en Java

Como sabemos, Object of String en Java es inmutable (es decir, no podemos realizar ningún cambio una vez creado). 
Para hacer modificaciones en una string almacenada en un objeto String, lo copiamos en una array de caracteres, StringBuffer, etc. y hacemos modificaciones en el objeto de copia.
En este artículo, analizaremos algunos métodos para intercambiar el carácter de una string dada y obtener una nueva string (con caracteres intercambiados) mientras que la string original no se ve afectada.
A través de los ejemplos a continuación, veamos algunos de los métodos mediante los cuales podemos intercambiar caracteres y generar nuevos 
ejemplos de strings: 
Método 1 (usando toCharArray) 
En este método, convertimos la string en la array de caracteres y realizamos el intercambio requerido. 
 

Java

// Java program to demonstrate character swap
// using toCharArray().
public class GFG {
    static char[] swap(String str, int i, int j)
    {
        char ch[] = str.toCharArray();
        char temp = ch[i];
        ch[i] = ch[j];
        ch[j] = temp;
        return ch;
    }
 
    public static void main(String args[])
    {
        String s = "geeksforgeeks";
 
        System.out.println(swap(s, 6, s.length() - 2));
        System.out.println(swap(s, 0, s.length() - 1));
 
        System.out.println(s);
    }
}
Producción: 

geeksfkrgeeos
seeksforgeekg
geeksforgeeks

 

Método 2 (usando subString()) 
Construimos la string modificada usando substrings de la string dada.
 

Java

// Java program to demonstrate character swap
// using subString()
 
public class GFG {
    static String swap(String str, int i, int j)
    {
        if (j == str.length() - 1)
            return str.substring(0, i) + str.charAt(j)
                + str.substring(i + 1, j) + str.charAt(i);
 
        return str.substring(0, i) + str.charAt(j)
            + str.substring(i + 1, j) + str.charAt(i)
            + str.substring(j + 1, str.length());
    }
 
    public static void main(String args[])
    {
        String s = "geeksforgeeks";
 
        System.out.println(swap(s, 6, s.length() - 2));
        System.out.println(swap(s, 0, s.length() - 1));
 
        // Original String doesn't change
        System.out.println(s);
    }
}
Producción: 

geeksfkrgeeos
seeksforgeekg
geeksforgeeks

 

Método 3 (usando StringBuilder o StringBuffer) 
En este método, puede usar StringBuilder o StringBuffer según la situación. Consulte String vs StringBuilder vs StringBuffer en Java para decidir cuándo usar cuál. 
 

Java

// Java program to demonstrate character swap
// using StringBuilder
 
public class GFG {
    static String swap(String str, int i, int j)
    {
        StringBuilder sb = new StringBuilder(str);
        sb.setCharAt(i, str.charAt(j));
        sb.setCharAt(j, str.charAt(i));
        return sb.toString();
    }
 
    public static void main(String args[])
    {
        String s = "geeksforgeeks";
 
        System.out.println(swap(s, 6, s.length() - 2));
        System.out.println(swap(s, 0, s.length() - 1));
 
        // Original String doesn't change
        System.out.println(s);
    }
}
Producción: 

geeksfkrgeeos
seeksforgeekg
geeksforgeeks

 

Producción: 
 

geeksfkrgeeos
seeksforgeekg
geeksforgeeks

Este artículo es una contribución de Sumit Ghosh . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *