Java StringBuilder

Java StringBuilder
Un objeto de cadena, instanciado desde la clase de cadena Java, es un objeto que encapsula una cadena literal. El problema con el objeto de cadena en Java es que los caracteres literal no se pueden modificar. La clase StringBuffer llega al rescate. El literal para el stringbuffer es mutable. StringBuffer también tiene la ventaja de ser segura (seguro para su uso por múltiples hilos). Sin embargo, las operaciones con StringBuffer pueden ser relativamente largas. Entonces, hay una forma más simple de la clase StringBuffer, que es la clase StringBuilder. StringBuilder no es seguro. La clase está en el Java.lang.* paquete y no necesita importación. Este artículo explica los conceptos básicos del StringBuilder.

Construcción de StringBuilder

Esta clase tiene cuatro constructores sobrecargados. Tres se explican aquí.

Public StringBuilder ()

Este constructor crea un objeto StringBuilder vacío, como se muestra en la siguiente declaración:

StringBuilder st = new StringBuilder ();

Los caracteres se pueden agregar al objeto StringBuilder, ST.

Public StringBuilder (Charsequence SEQ)

Este constructor toma una cadena literal como argumento, como se muestra en el siguiente segmento de código:

StringBuilder st = new StringBuilder ("Este es el bailarín.");
Sistema.afuera.println (st);

La salida es:

Este es el bailarín.

Public StringBuilder (String Str)

Este método del constructor toma un identificador de cadena como argumento, como se muestra en el siguiente segmento de código:

StringBuilder st = new StringBuilder ("Este es el bailarín.");
StringBuilder st1 = new StringBuilder (ST);
Sistema.afuera.println (ST1);

La salida es:

Este es el bailarín.

Métodos de StringBuilder

Public StringBuilder Append (Char C)

Esto agrega un personaje al objeto StringBuilder, que podría estar vacío. El siguiente segmento de código ilustra esto:

StringBuilder st = new StringBuilder ();
calle.append ('t'); calle.append ('h'); calle.append ('i'); calle.append ('s'); calle.adjuntar(");
calle.append ('i'); calle.append ('s');
Sistema.afuera.println (st);

La salida es:

Esto es

Public StringBuilder Append (CharSequence S)

Esto agrega una secuencia de cadena (cadena literal). El siguiente segmento de código ilustra esto:

StringBuilder st = new StringBuilder ("Esto es");
calle.append ("the");
Sistema.afuera.println (st);

La salida es:

"Este es el "

Public StringBuilder Append (String Str)

Esto usa un identificador de cadena para agregar. El siguiente segmento de código ilustra esto:

Cadena strr = "bailarín";
StringBuilder st = new StringBuilder ("Este es el");
calle.anexar (strr);
Sistema.afuera.println (st);

La salida es:

Este es el bailarín

Public int Longitud ()

Este método devuelve el número de caracteres en la cadena, como se muestra en el siguiente segmento de código:

StringBuilder st = new StringBuilder ("Este es el bailarín.");
int sz = st.longitud();
Sistema.afuera.println (SZ);

La salida es:

19

La longitud es 19, lo que significa que hay 19 caracteres.

Public Char Charat (INT Índice)

Este método devuelve una copia del char al índice. El conteo de índice comienza desde 0. El bucle for-loop en el siguiente segmento de código, devuelve todos los caracteres del objeto StringBuilder:

StringBuilder sb = new StringBuilder ("Este es el bailarín.");
para (int i = 0; ichar ch = sb.charat (i);
Sistema.afuera.imprimir (CH);

Sistema.afuera.println ();

La salida es:

Este es el bailarín.

Public void setcharat (int index, charch)

El personaje en una posición de índice se puede cambiar. El conteo de índice comienza desde 0. El siguiente segmento de código utiliza este método para cambiar, 'i' en "esto" a 'u', haciendo "así":

StringBuilder sb = new StringBuilder ("Este es el bailarín.");
SB.setcharat (2, 'u');
Sistema.afuera.println (SB);

La salida es:

Así es el bailarín.

Public void setLength (int newLength)

Este método cambia la longitud de la cadena. Si la longitud dada es más pequeña que la de la cadena original, hay truncamiento. El conteo de NewLength comienza a partir de 1. El siguiente segmento de código trunca la cadena a una longitud de 7:

StringBuilder sb = new StringBuilder ("Este es el bailarín.");
SB.setLength (7);
Sistema.afuera.println (SB);

La salida es:

Esto es

Public int indexOf (String substr)

El conteo de índice comienza desde 0. Esto devuelve el índice de inicio de la primera ocurrencia de la subconjunto dada como argumento. El siguiente código es una ilustración:

StringBuilder sb = new StringBuilder ("Este es el bailarín.");
Cadena sst = "is";
int ret = sb.indexOf (SST);
Sistema.afuera.println (ret);

La salida es 2, para el "es" en "esto".

Public Int IndexOf (String Str, Int FromIndex)

El conteo de índice comienza desde 0. Esto devuelve la primera ocurrencia de la subcadena dada como primer argumento, comenzando con el valor del segundo argumento. El siguiente código ilustra esto:

StringBuilder sb = new StringBuilder ("Este es el bailarín.");
Cadena sst = "is";
int ret = sb.indexOf (SST);
Sistema.afuera.println (ret);

La salida es 12.

Public StringBuilder DeleteCharat (INT Index)

Esto elimina un personaje en particular. En el siguiente segmento de código, se eliminan los caracteres en el índice 8, el índice 9, el índice 10 y el índice 11. Tanto las cuerdas antiguas como las nuevas se cambian simultáneamente cada vez.

StringBuilder sb = new StringBuilder ("Este es el bailarín.");
SB.DeleteCharat (8); SB.DeleteCharat (8); SB.DeleteCharat (8);
StringBuilder ret = sb.DeleteCharat (8);
Sistema.afuera.println (SB); Sistema.afuera.println (ret);

La salida es:

Esto es bailarín.
Esto es bailarín.

Public StringBuilder Delete (int inicio, int final)

En el código anterior, cuando se eliminó el carácter del índice 8, el siguiente se convirtió en el carácter en el índice 8. En lugar de eliminar uno por uno, los caracteres del índice 8 al índice 11 se pueden eliminar en un comando, como muestra el siguiente código:

StringBuilder sb = new StringBuilder ("Este es el bailarín.");
StringBuilder ret = sb.eliminar (8, 12);
Sistema.afuera.println (SB); Sistema.afuera.println (ret);

La salida es:

Esto es bailarín.
Esto es bailarín.

Tenga en cuenta que el índice final del método (12) no está incluido en el rango efectivo.

Public StringBuilder Reemplazar (int inicio, int end, string str)

Una subtracción en la cadena original, puede ser reemplazada por otra cadena, str, que puede ser más larga o más corta que la cadena original. El siguiente segmento de código ilustra esto:

StringBuilder sb = new StringBuilder ("Este es el bailarín.");
StringBuilder ret = sb.reemplazar (0, 7, "aquí:");
Sistema.afuera.println (SB); Sistema.afuera.println (ret);

La salida es:

Aquí: el bailarín.
Aquí: el bailarín.

Nuevamente, el índice final es uno más alto que el final real del rango.

Public StringBuilder Insert (int offset, char c)

Esto inserta un carácter en la cadena, aumentando la longitud por uno. Compensación es el índice donde se insertará el personaje. El conteo de desplazamiento comienza desde 1 y no 0. A la derecha de lo que se inserta, los caracteres en la cadena se desplazan un lugar hacia la derecha. En el siguiente código, 's' se inserta entre 'r' y '.':

StringBuilder sb = new StringBuilder ("Este es el bailarín.");
StringBuilder ret = sb.insertar (18, 's');
Sistema.afuera.println (SB);
Sistema.afuera.println (ret);

La salida es:

Estos son los bailarines.
Estos son los bailarines.

El método devuelve una nueva cadena. Se modifican las cadenas antiguas y nuevas. La oración de salida no es un buen inglés, y se abordará a continuación:

Public StringBuilder Insert (int offset, char [] str)

Recuerde que el conteo de compensación en Java comienza desde uno, no cero. Con eso, se puede insertar una subtracción en la cadena original, como en el siguiente código:

StringBuilder sb = new StringBuilder ("Este es el bailarín.");
StringBuilder ret = sb.insertar (12, "grande");
Sistema.afuera.println (SB); Sistema.afuera.println (ret);

La salida es:

Este es el gran bailarín.
Este es el gran bailarín.

Tanto el original como las cadenas de retorno tuvieron el cambio.

Public StringBuilder Insert (int index, char [] str, int offset, int len)

Se puede insertar una subtracción de otra cadena en la cadena original, como se ilustra en la siguiente muestra de código:

StringBuilder sb = new StringBuilder ("Este es el bailarín.");
StringBuilder anotherstr = new StringBuilder ("El gran jefe.");
StringBuilder ret = sb.insertar (12, anotherstr, 4, 8);
Sistema.afuera.println (SB); Sistema.afuera.println (ret);

La salida es:

Este es el gran bailarín.
Este es el gran bailarín.

La porción de subcadena tomada de la otra cadena es: len - desplazamiento, e.gramo. 8 - 4 para ser "grande".

Conclusión

El literal de cadenas no se puede editar con la clase de cadena en Java. La clase StringBuilder es una clase de cadena cuyo literal se puede editar. La clase está en el Java.lang.* Paquete y no necesita importación. Esta clase tiene constructores y métodos. Los más utilizados se han explicado en las secciones anteriores. Esperamos que hayas encontrado este artículo útil. Echa un vistazo a otros artículos de Sugerencia de Linux para obtener más consejos y tutoriales.