How to get the first key of a hashmap?

if you use Java 8,

map.entrySet().stream().findFirst().get().getKey()

To get the value of the "first" key, you can use it

map.get(map.keySet().toArray()[0]);

In Java8,

You can use stream. For TreeMap/LinkedHashMap, where ordering is significant, you can write

map.entrySet().stream().findFirst();

For HashMap, there is no order, so findAny() might return a different result on different calls

map.entrySet().stream().findAny();

Since your question is not very specific about what you consider the "first key" I will just list a few options.

Just the first one in the key set

String firstKey = map.keySet().iterator().next();

But no idea what information that provides you.

The smallest key

String firstKey = map.keySet().stream().min(String::compareTo).get();

The key of the smallest value

String firstKey = map.entrySet().stream().min((a,b) -> a.getValue().compareTo(b.getValue())).get().getKey();

The first inserted key

This does not work with a regular HashMap because it does not preserve the ordering. Use a LinkedHashMap instead.

Map<String, Double> map = new LinkedHashMap<>();
String firstKey = map.keySet().iterator().next();

Map<String, Double> map=new HashMap<>();
Map.Entry<String, Double> entry=map.entrySet().iterator().next();
 String key= entry.getKey();

But HashMap doesn't maintain insertion order. You can use LinkedHashMap instead of HashMap.

Tags:

Java

Hashmap