Java LinkedHashMap get first or last entry

The semantics of LinkedHashMap are still those of a Map, rather than that of a LinkedList. It retains insertion order, yes, but that’s an implementation detail, rather than an aspect of its interface.

The quickest way to get the “first” entry is still entrySet().iterator().next(). Getting the “last” entry is possible, but will entail iterating over the whole entry set by calling .next() until you reach the last. while (iterator.hasNext()) { lastElement = iterator.next() }

edit: However, if you’re willing to go beyond the JavaSE API, Apache Commons Collections has its own LinkedMap implementation, which has methods like firstKey and lastKey, which do what you’re looking for. The interface is considerably richer.

Leave a Comment