Tutorial Java SE - 35 StringBuilder

Поделиться
HTML-код
  • Опубликовано: 11 янв 2025

Комментарии • 31

  • @franciscoripollramirez9902
    @franciscoripollramirez9902 5 лет назад +21

    La verdadera diferencia es que StringBuilder es mutable, por lo que no es thread-safe. El operador + crea un nuevo registro en heap memory

  • @miguelperezmendez8964
    @miguelperezmendez8964 9 месяцев назад

    Excelente explicación 👏 me ayudaste mucho

  • @eduardocontreras7874
    @eduardocontreras7874 7 лет назад +1

    Pero que buen tips el de StringBuilder. Excelente la prueba para demostrar las diferencias de tiempo con el signo de concatenación

  • @davidbecerramontellano7598
    @davidbecerramontellano7598 7 лет назад

    Excelente opción para temas de rendimiento con aplicaciones escalables como haces mención en el video. Lo tendré en consideración con procesos grandes. Saludos.

  • @brandojeanpiercalderonpuen3850
    @brandojeanpiercalderonpuen3850 4 года назад

    Deberías hacer más videos como este con datos curiosos o rebuscados, buen video.

  • @EduardoLynchAraya
    @EduardoLynchAraya 9 лет назад +1

    Excelente información, gracias, lo pondré en practica para mis futuras aplicaciones.
    Saludos!

  • @FranciscoRodriguez-vz6qd
    @FranciscoRodriguez-vz6qd 7 лет назад

    Buen dato, lo aplicaré en el futuro, gracias.

  • @hansfelipe8968
    @hansfelipe8968 8 лет назад

    Lo consideraré, muchas gracias!

  • @tomasheredia2901
    @tomasheredia2901 4 года назад

    gracias, me ayudaste mucho.

  • @bonillaleal
    @bonillaleal 5 лет назад +1

    Gracias por el video @MitoCode. Quisiera compartir el código con el método Scanner:
    import java.util.Scanner;
    public class Prueba{
    public static void main(String args[ ]){
    Scanner in=new Scanner(System.in);
    StringBuilder palabra = new StringBuilder( );
    System.out.println("Ingresar el texto a imprimir");
    String texto=in.nextLine( );
    palabra.append(texto);
    System.out.println("El StringBuilder es: "+palabra.toString( ));
    }
    }

    • @LeTocineJr
      @LeTocineJr 9 месяцев назад

      Lo acabo de hacer asi;
      import java.util.Scanner;
      public class SBuilder {
      public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      StringBuilder name = new StringBuilder();
      System.out.println("Ingresa tu nombre");
      name.append( sc.nextLine());
      System.out.println("name = " + name);
      }
      }

  • @zamoray123
    @zamoray123 8 лет назад

    NO lo sabia, gracias Jaime

  • @ZETA2008000
    @ZETA2008000 9 лет назад +3

    ¡Excelente...!
    Pregunta: ¿A que se debe la utilización de la variable diferencia como un tipo double? si las variables tiempo_inicio y tiempo_fin son de tipo long.

    • @rickhunter8216
      @rickhunter8216 7 лет назад

      PARA QUE MUESTRE LAS MILESIMAS DE SEGUNDOS LUEGO DEL PUNTO DECIMAL.

    • @PabloRodriguezMontero
      @PabloRodriguezMontero 4 года назад

      Muy buena observación. Creo que fue más como por el ejemplo que puso, pero efectivamente "System.nanoTime()" devuelve un long. Entonces, no debería haber ninguna diferencia sustancial (teniendo en cuenta que Java nos ayuda con la conversión implícita en el tipo de dato)

  • @JuanCarlosLerma
    @JuanCarlosLerma 4 года назад +1

    Buena información

  • @maximilianomaubecin6493
    @maximilianomaubecin6493 4 года назад

    Este último tiempo mejoró bastante concatenar con el operador +, aunque StringBuilder llega a ser mejor. Sin embargo otra opción que es más óptima que esas dos es usar el método .concat(string) de la clase String. Por ej:
    String texto = "";
    texto.concat("Hola mundo");

    • @PabloRodriguezMontero
      @PabloRodriguezMontero 4 года назад +2

      Hola, acabé de realizar la prueba con el método "concat(string)" y sigue siendo muy demorado. A continuación comparto el código:
      public class Test {
      public static void main(String[] args) {

      final int TAMANIO = 100_000;
      long inicio;
      long fin;

      System.out.println("Usando String con operador +");
      inicio = System.currentTimeMillis();
      String textoString = "";

      for (int i = 0; i < TAMANIO; i++) {
      textoString += i;
      }
      fin = System.currentTimeMillis();

      System.out.println("->Se demoró: " + (fin-inicio));
      System.out.println("-------------------------");

      System.out.println("Usando String con método concat");
      inicio = System.currentTimeMillis();
      String textoStringConcat = "";

      for (int i = 0; i < TAMANIO; i++) {
      textoStringConcat = textoStringConcat.concat(String.valueOf(i));
      }
      fin = System.currentTimeMillis();

      System.out.println("->Se demoró: " + (fin-inicio));
      System.out.println("-------------------------");

      System.out.println("Usando StringBuilder");
      inicio = System.currentTimeMillis();
      StringBuilder textoStringBuilder = new StringBuilder();

      for (int i = 0; i < TAMANIO; i++) {
      textoStringBuilder.append(i);
      }
      fin = System.currentTimeMillis();

      System.out.println("->Se demoró: " + (fin-inicio));
      System.out.println("-------------------------");

      }
      }
      Y por ejemplo este fue el resultado de la salida en mi máquina:
      Usando String con operador +
      ->Se demoró: 18752
      -------------------------
      Usando String con método concat
      ->Se demoró: 8038
      -------------------------
      Usando StringBuilder
      ->Se demoró: 4
      -------------------------

    • @cristophersaraosverdugo5934
      @cristophersaraosverdugo5934 Год назад +1

      @@PabloRodriguezMontero increible la diferencia de rendimiento que tienen muchas gracias por aclararlo!

  • @donhugorincon6785
    @donhugorincon6785 5 лет назад

    Hola muy buenos tus videos , Pedro podrías ser mas ordenado

  • @CharipNet
    @CharipNet 7 лет назад

    StringBuilder me da un error en eclipse version oxigen, cual podria ser el problema?..

  • @rickhunter8216
    @rickhunter8216 7 лет назад

    BUEN DATO LO DE JAVAMAIL.

  • @ignacioantoniojeriagarrido6877
    @ignacioantoniojeriagarrido6877 8 лет назад

    Interesante

  • @israel31294
    @israel31294 3 года назад +2

    En la industria usamos el Stringbuilder de manera muy común

  • @henryserranoa
    @henryserranoa 8 лет назад +1

    Es decir que el stringbuilder no es inmutable?

    • @MitoCode
      @MitoCode  8 лет назад +5

      +Henry Serrano aja stringbuilder y es StringBuffer son mutantes

    • @MitoCode
      @MitoCode  8 лет назад +8

      +Henry Serrano mutables jaja

    • @rickhunter8216
      @rickhunter8216 7 лет назад +5

      COMO LOS XMEN?

  • @seichieduardojonda7290
    @seichieduardojonda7290 4 года назад +1

    Lo mismo sucede con Stream y Lambdas, se demoran

  • @jesussandrea7581
    @jesussandrea7581 5 лет назад

    pelos