Junior — Middle
O que impede o uso da interface Iterable na estrutura de dados Map?
sobes.tech IA
Resposta da IA
A interface Iterable em Java destina-se a coleções que podem ser percorridas pelos seus elementos, fornecendo o método iterator(). No entanto, o Map não implementa Iterable diretamente, porque o Map é uma estrutura de dados que armazena pares chave-valor, e não apenas um conjunto de elementos.
Para percorrer um Map, normalmente usam-se os métodos keySet(), values() ou entrySet(), que retornam coleções que já implementam Iterable. Por exemplo:
Map<String, Integer> map = new HashMap<>();
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + " = " + entry.getValue());
}
Assim, o Map não implementa Iterable porque os seus elementos são pares chave-valor, e para facilitar a iteração, são fornecidas representações especiais desses pares.