Sobes.tech
Junior — Middle

Qual critério é usado para ordenar os elementos ao chamar o método entrySet() na coleção?

sobes.tech IA

Resposta da IA

O método entrySet() devolve um conjunto de pares chave-valor (Map.Entry) da coleção Map. Por si só, entrySet() não garante a ordenação dos elementos.

O critério de ordenação depende da implementação específica de Map:

  • Em HashMap, a ordem dos elementos não é definida (não ordenada).
  • Em LinkedHashMap, os elementos estão ordenados na ordem de inserção.
  • Em TreeMap, os elementos estão ordenados pela chave de acordo com a ordem natural das chaves ou o comparador fornecido.

Assim, se você chamar entrySet() em um TreeMap, os elementos estarão ordenados pela chave. Em outras implementações, a ordem pode ser arbitrária ou preservada pela inserção.

Exemplo:

Map<String, Integer> map = new TreeMap<>();
map.put("b", 2);
map.put("a", 1);
for (Map.Entry<String, Integer> entry : map.entrySet()) {
    System.out.println(entry.getKey() + "=" + entry.getValue());
}
// Saída:
// a=1
// b=2