Как перебрать LinkedHashMap для x-го элемента?

1

Каков наилучший способ итерации через LinkedHashMap для x-го элемента?

for (Entry<String, Integer> entry : existingFile.entrySet() )
            {

                builder.append("{" + entry.getKey() + "," + entry.getValue() + "}   ");

            }

Это повторяется во всех элементах, как я могу остановить это на 5-м элементе?

  • 1
    Либо извлекайте итератор напрямую, а затем используйте цикл for с переменной итерации int , или сохраняйте счетчик, который вы увеличиваете в расширенном цикле for ...
Теги:
linkedhashmap

2 ответа

5
Лучший ответ

Используйте счетчик:

int counter = 0;

for (Entry<String, Integer> entry : existingFile.entrySet() )
{
    if (counter == 5)
        break;

    builder.append("{" + entry.getKey() + "," + entry.getValue() + "}   ");
    counter++;
}
2

С помощью Java 8 вы можете создать поток и ограничить его до 5 элементов:

existingFile.entrySet().stream()
     .limit(5)
     .forEach(e -> builder.append("{"
          + e.getKey() + "," 
          + e.getValue() + "}   "));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню