Solución:
Para obtener el valor de la “primera” clave, puede usarla
map.get(map.keySet().toArray()[0]);
En Java8,
Puedes usar stream. Para TreeMap / LinkedHashMap, donde el orden es importante, puede escribir
map.entrySet().stream().findFirst();
Para HashMap, no hay orden, entonces findAny()
podría devolver un resultado diferente en diferentes llamadas
map.entrySet().stream().findAny();
Dado que su pregunta no es muy específica sobre lo que considera la “primera clave”, solo enumeraré algunas opciones.
Solo el primero en el juego de llaves
String firstKey = map.keySet().iterator().next();
Pero ni idea de qué información te proporciona.
La llave más pequeña
String firstKey = map.keySet().stream().min(String::compareTo).get();
La clave del valor más pequeño
String firstKey = map.entrySet().stream().min((a,b) -> a.getValue().compareTo(b.getValue())).get().getKey();
La primera llave insertada
Esto no funciona con un HashMap
porque no conserva el orden. Utilizar una LinkedHashMap
en lugar de.
Map<String, Double> map = new LinkedHashMap<>();
String firstKey = map.keySet().iterator().next();
si usa Java 8,
map.entrySet().stream().findFirst().get().getKey()
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)