Aviso do FindBugs: uso ineficiente do iterator keySet em vez do iterator entrySet

Por favor, consulte o seguinte método:

public Set<LIMSGridCell> getCellsInColumn(String columnIndex){
    Map<String,LIMSGridCell> cellsMap = getCellsMap();
    Set<LIMSGridCell> cells = new HashSet<LIMSGridCell>();
    Set<String> keySet = cellsMap.keySet();
    for(String key: keySet){
      if(key.startsWith(columnIndex)){
        cells.add(cellsMap.get(key));
      }
    }
    return cells;
  }

FindBugs dá esta mensagem waring:

"Uso ineficiente do iterador keySet em vez do iterador entrySet Este método acessa o valor de uma entrada do Mapa, usando uma chave que foi recuperada de um iterador keySet. É mais eficiente usar um iterador no entrySet do mapa, para evitar a consulta Map.get (key). "

questionAnswers(5)

yourAnswerToTheQuestion