Ordenar una lista alfabéticamente en Java

Mohammad Irfan 12 octubre 2023
  1. Ordenar una Lista usando el método Collections.sort() en Java
  2. Ordenar una Lista usando el método list.stream().sorted() en Java 8
  3. Ordenar una Lista usando la biblioteca Guava en Java
  4. Ordenar una Lista usando Comparator.naturalOrder() en Java
  5. Ordenar una Lista usando la clase String en Java
Ordenar una lista alfabéticamente en Java

Este tutorial presenta cómo ordenar alfabéticamente una lista de elementos en Java.

List es un tipo de datos lineal que se utiliza para almacenar elementos de un tipo similar en Java. En Java, List es una interfaz y ArrayList es su clase de implementación.

Podemos usar varias formas de ordenar una Lista: clase Collections, clase String, biblioteca de Google Guava, etc. Entendamos con algunos ejemplos.

Ordenar una Lista usando el método Collections.sort() en Java

Las Collections es una clase en el paquete java.util que proporciona varios métodos para recopilar datos. Proporciona un método sort() para ordenar los elementos de la lista.

Aquí, usamos este método para ordenar la lista alfabéticamente. Vea el ejemplo a continuación.

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    list.add("Australia");
    System.out.println(list);
    Collections.sort(list);
    System.out.println("-----------Sorted List------------");
    System.out.println(list);
  }
}

Producción :

[India, US, China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]

El método sort() tiene una versión sobrecargada que toma un argumento extra para clasificar los elementos en un orden que no distingue entre mayúsculas y minúsculas. Vea el ejemplo a continuación donde usamos este método, y funciona bien.

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    list.add("Australia");
    System.out.println(list);
    Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
    System.out.println("-----------Sorted List------------");
    System.out.println(list);
  }
}

Producción :

[India, US, China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]

Ordenar una Lista usando el método list.stream().sorted() en Java 8

Use el ejemplo de código a continuación si está trabajando con Java 8 o superior. Aquí, usamos la API de transmisión para ordenar los elementos.

Vea el ejemplo a continuación.

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    list.add("Australia");
    System.out.println(list);
    list = list.stream().sorted().collect(Collectors.toList());
    System.out.println("-----------Sorted List------------");
    System.out.println(list);
  }
}

Producción :

[India, US, China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]

Ordenar una Lista usando la biblioteca Guava en Java

Además del paquete java.util, podemos usar la biblioteca guava para ordenar los elementos de la lista. Google proporciona esta biblioteca de guayaba para trabajar en colecciones de datos.

Usamos la clase Ordering y su método natural() para obtener los elementos en orden natural. Vea el ejemplo a continuación.

import com.google.common.collect.Ordering;
import java.util.ArrayList;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    list.add("Australia");
    System.out.println(list);
    list = Ordering.natural().sortedCopy(list);
    System.out.println("-----------Sorted List------------");
    System.out.println(list);
  }
}

Producción :

[India, US,China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]

Ordenar una Lista usando Comparator.naturalOrder() en Java

En este ejemplo, usamos Comparator para obtener la lista en un orden natural. Pasamos el método naturalOrder() al método list.sort().

Vea el ejemplo a continuación.

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    list.add("Australia");
    System.out.println(list);
    list.sort(Comparator.naturalOrder());
    System.out.println("-----------Sorted List------------");
    System.out.println(list);
  }
}

Producción :

[India, US, China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]

Ordenar una Lista usando la clase String en Java

Si desea ignorar el caso de la cadena mientras ordena los elementos de la lista, use el método compareToIgnoreCase() y el método method.sort(). Usamos la referencia de clase y método String para obtener los elementos de la lista ordenada.

Vea el ejemplo a continuación.

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;

public class SimpleTesting {
  public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    list.add("India");
    list.add("US");
    list.add("China");
    list.add("Russia");
    list.add("Australia");
    System.out.println(list);
    list.sort(String::compareToIgnoreCase);
    System.out.println("-----------Sorted List------------");
    System.out.println(list);
  }
}

Producción :

[India, US, China, Russia, Australia]
-----------Sorted List------------
[Australia, China, India, Russia, US]

Artículo relacionado - Java List