FindBugs-Warnung: Ineffiziente Verwendung des keySet-Iterators anstelle des entrySet-Iterators
Bitte beziehen Sie sich auf die folgende Methode:
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 geben diese waring Nachricht:
"Ineffiziente Verwendung des keySet-Iterators anstelle des entrySet-Iterators Diese Methode greift auf den Wert eines Map-Eintrags zu, indem ein Schlüssel verwendet wird, der von einem keySet-Iterator abgerufen wurde. Es ist effizienter, einen Iterator für das entrySet der Karte zu verwenden, um die Map.get-Suche (Schlüssel) zu vermeiden. "