2014-11-24 17 views
1

將LinkedHashMap迭代到第x個元素的最佳方法是什麼?如何遍歷LinkedHashMap到第x個元素?

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

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

      } 

這遍歷所有的元素,我怎麼能阻止它說在第5元素?

+1

直接獲取迭代器,然後使用'與for'環一個'int'迭代變量,或者保留一個在增強for循環內增加的計數器... – 2014-11-24 19:23:28

回答

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() + "} "));