Ordenar una lista alfabéticamente en Java
-
Ordenar una
Lista
usando el métodoCollections.sort()
en Java -
Ordenar una
Lista
usando el métodolist.stream().sorted()
en Java 8 -
Ordenar una
Lista
usando la biblioteca Guava en Java -
Ordenar una
Lista
usandoComparator.naturalOrder()
en Java -
Ordenar una
Lista
usando la claseString
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]