Clasificación de la colección de String y StringBuffer en Java

La clasificación de una colección de objetos se puede hacer de dos maneras: 

  • Al implementar Comparable (Orden Natural), por ejemplo, las strings se ordenan ASCIIbéticamente. lo que significa que B viene antes que A y 10 está antes que 2.
  • Mediante la implementación de Comparator (Pedido personalizado) y puede ser en cualquier orden.
  • Usando el método Collections.sort() de la clase de utilidad Collections. 

Lea más sobre Comparable y Comparator
Para la colección ordenada, podemos usar las siguientes colecciones: 

  • ÁrbolConjunto
  • ÁrbolMapa

En el caso de String, la clasificación se realizará automáticamente en orden natural. 

Java

// Java program to sort String objects using TreeSet
import java.util.Set;
import java.util.TreeSet;
 
public class Test {
    public static void main(String[] args)
    {
        Set<String> str = new TreeSet<String>();
        str.add("Sohan");
        str.add("Raja");
        str.add("Harish");
        str.add("Ram");
        System.out.println(str);
    }
}

Producción:  

[Harish, Raja, Ram, Sohan]

Java

// Java program to demonstrate that simple sorting
// StringBuffer objects does work.
import java.util.Set;
import java.util.TreeSet;
 
public class Test {
 
    public static void main(String[] args)
    {
        Set<StringBuffer> str = new TreeSet<>();
        str.add(new StringBuffer("Sohan"));
        str.add(new StringBuffer("Raja"));
        str.add(new StringBuffer("Harish"));
        str.add(new StringBuffer("Ram"));
        System.out.println(str);
    }
}
Producción

[Harish, Raja, Ram, Sohan]

La clase String implementa una interfaz comparable, mientras que las clases StringBuffer y StringBuilder no implementan una interfaz comparable. Vea a continuación las firmas de las clases String, StringBuffer y StringBuilder: 

Java

public final class String
    extends Object
        implements Serializable,
    Comparable, CharSequence

Java

public final class StringBuffer
    extends Object
        implements Serializable,
    CharSequence

Java

public final class StringBuilder
    extends Object
        implements Serializable,
    CharSequence

Hay muchas formas de ordenar las clases StringBuffer, StringBuilder. Algunas de las formas se dan a continuación: 

  • Implementando la interfaz Comparator
  • Al convertir StringBuffer a String usando el método StringBuffer.toString()

Java

// Java program to demonstrate sorting
// of StringBuffer objects using Comparator
// interface.
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
 
public class Test implements Comparator<StringBuffer> {
    @Override public int compare(StringBuffer s1, StringBuffer s2)
    {
        return s1.toString().compareTo(s2.toString());
    }
 
    public static void main(String[] args)
    {
        Set<StringBuffer> str = new TreeSet<>(new Test());
        str.add(new StringBuffer("Sohan"));
        str.add(new StringBuffer("Raja"));
        str.add(new StringBuffer("Harish"));
        str.add(new StringBuffer("Ram"));
        System.out.println(str);
    }
}

Producción: 

[Harish, Raja, Ram, Sohan]

Este artículo es una contribución de Sajid Ali Khan y la improvisación de Soumyaranjan Panda . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@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 *