Interfaz SortedMap de Java: Visión General, Métodos e Implementación con TreeMap
Interfaz SortedMap de Java
En este tutorial, exploramos la interfaz SortedMap de Java, sus métodos clave y cómo usarla con la clase TreeMap.
La interfaz SortedMap de Java, parte del framework de colecciones, garantiza que las claves del mapa se almacenen en orden ordenado. Extiende la interfaz base Map.

Clase que Implementa SortedMap
Como SortedMap es una interfaz, no puedes instanciarla directamente. La implementación concreta proporcionada por el JDK es la clase TreeMap, que mantiene las entradas en orden ascendente de claves por defecto.

Cómo Usar SortedMap
Para trabajar con SortedMap, primero importa la interfaz:
import java.util.SortedMap;
import java.util.TreeMap;
Luego crea una instancia usando TreeMap:
SortedMap<Clave, Valor> numeros = new TreeMap<>();
En este ejemplo, numeros almacenará las claves en orden natural ascendente. También puedes suministrar un Comparator personalizado si necesitas un ordenamiento diferente.
Definiciones:
- Clave – identificador único que mapea a un valor.
- Valor – dato asociado con una clave.
Usar el constructor sin argumentos significa que el mapa se ordenará según el orden natural del tipo de clave.
Métodos Clave de SortedMap
Además de todos los métodos heredados de Map, SortedMap añade las siguientes operaciones:
- comparator() – devuelve el
Comparatorusado para ordenar claves, onullsi se usa orden natural. - firstKey() – recupera la clave más pequeña en el mapa.
- lastKey() – recupera la clave más grande.
- headMap(K toKey) – devuelve una vista del mapa cuyas claves son estrictamente menores que
toKey. - tailMap(K fromKey) – devuelve una vista del mapa cuyas claves son mayores o iguales a
fromKey. - subMap(K fromKey, K toKey) – devuelve una vista del mapa cuyas claves van desde
fromKey(inclusive) atoKey(exclusivo).
Para más detalles, consulta la documentación de Java SortedMap.
TreeMap: Implementación Concreta de SortedMap
import java.util.SortedMap;
import java.util.TreeMap;
public class Main {
public static void main(String[] args) {
// Creando un SortedMap usando TreeMap
SortedMap<String, Integer> numeros = new TreeMap<>();
// Insertar elementos en el mapa
numeros.put("Dos", 2);
numeros.put("Uno", 1);
System.out.println("SortedMap: " + numeros);
// Recuperar la primera y última clave
System.out.println("Primera Clave: " + numeros.firstKey());
System.out.println("Última Clave: " + numeros.lastKey());
// Eliminar una entrada por clave
int eliminado = numeros.remove("Uno");
System.out.println("Valor Eliminado: " + eliminado);
}
}
Salida
SortedMap: {Uno=1, Dos=2} Primera Clave: Uno Última Clave: Dos Valor Eliminado: 1
Este ejemplo demuestra cómo se comporta SortedMap cuando se usa con TreeMap. Para más sobre TreeMap, consulta la documentación de Java TreeMap.
Java
- Dominando las Interfaces en C#: Definición, Implementación y Casos de Uso Prácticos
- Dominar Operadores en Java: Tipos, Sintaxis y Ejemplos Prácticos
- Dominando interfaces en Java: Conceptos, implementación y mejores prácticas
- Dominando Try‑with‑Resources en Java: Gestión automática de recursos explicada
- Anotaciones en Java explicadas: Tipos, ubicación y ejemplos prácticos
- Dominando la Interfaz NavigableSet de Java: Navegación, Ordenación y Ejemplos Prácticos
- Dominando Expresiones Lambda en Java: Desde Básicos hasta Stream API
- Interfaz vs Clase Abstracta en Java: Cómo elegir la abstracción correcta
- Entendiendo las Interfaces en Java: Definiciones, Usos y Buenas Prácticas
- Java 9 Métodos de Fábrica de Colecciones: Simplificar Creación de List, Set y Map Inmutables
- Java 9 Métodos Privados en Interfaces: Mejorar Encapsulamiento y Reutilización de Código