Если вы используете Java 8 (или выше), есть удобная функция, называемая Lambda, которая обеспечивает хороший API для работы с потоками.
Для создания второй карты только с отфильтрованными ключами используйтеследующий код:
Map<String, String> originMap;
Map<String, String> filteredmap = originMap.entrySet().stream()
.filter(x -> x.getKey().length() == 3)
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
Если вы хотите удалить элементы с самой карты:
Map<String, String> map;
map.entrySet().removeIf(entry -> entry.getKey().length != 3);