public int getAnimalCount(Rectangle r) { int count = 0; Monster monster = null; try { for (String key : monsters.keySet()) { monster = (Monster) monsters.get(key); if (monster.getName().equals("Pig")) { if (monster.getSpriteRect().intersects(r)) { count++; } } } } catch (ConcurrentModificationException concEx) { // another thread was trying to modify monsters while iterating // we'll continue and the new item can be grabbed on the next update } return count; }