Наткнулся здесь, ища то же самое ... Затем я вспомнил класс Iterables
из библиотеки Гуава .
Чтобы получить «первый» элемент: Iterables.getFirst( someMap.values(), null );
.
По сути, делает то же самое, что и Map.values().iterator().next()
, но также позволяет вам указать значение по умолчанию (в данном случае ноль), если на карте ничего нет.
Iterables.getLast( someMap.values(), null );
возвращает последний элемент на карте.
Iterables.get( someMap.values(), 7, null );
возвращает седьмой элемент на карте, если он существует, в противном случае используется значение по умолчанию (в данном случае ноль).
Помните, что HashMaps не упорядочены ... поэтому не ожидайте, что Iterables.getFirst
вернет первый элемент, который вы там бросили ... также с Iterables.getLast
. Возможно, полезно получить a сопоставленное значение, хотя.
Возможно, для этого не стоит добавлять библиотеку Guava, но если вам случится использовать некоторые другие классные утилиты в этой библиотеке ...