Junior
Fale sobre a coleção Map em Java e suas características.
sobes.tech IA
Resposta da IA
Map — é uma interface no Java Collection Framework que representa uma coleção de pares "chave-valor". As chaves são únicas, mas os valores podem repetir-se.
Principais características:
- A chave é usada para aceder ao valor correspondente.
- A mesma chave não pode ser adicionada duas vezes. Ao tentar adicionar uma chave existente, o valor antigo é substituído pelo novo.
Mapnão herda da interfaceCollection. Tem os seus próprios métodos para trabalhar com pares "chave-valor".- A ordem dos pares "chave-valor" pode variar dependendo da implementação específica.
Implementações populares de Map:
HashMap: Não garante a ordem dos elementos. Oferece alto desempenho para a maioria das operações (inserção, obtenção, remoção) na ausência de conflitos de hash.LinkedHashMap: Armazena os elementos na ordem em que foram adicionados (ou na ordem de acesso, se configurado assim).TreeMap: Armazena os elementos em ordem ordenada pela chave (ordem natural ou fornecida por um comparador). Oferece tempo logarítmico para a maioria das operações.
Exemplos de métodos:
// Obter valor pela chave
Object value = map.get(key);
// Adicionar ou atualizar par chave-valor
Object oldValue = map.put(key, value);
// Remover par pela chave
Object removedValue = map.remove(key);
// Verificar se a chave existe
boolean containsKey = map.containsKey(key);
// Verificar se o valor existe
boolean containsValue = map.containsValue(value);
// Obter conjunto de todas as chaves
Set<KeyType> keys = map.keySet();
// Obter coleção de todos os valores
Collection<ValueType> values = map.values();
// Obter conjunto de todas as entradas (pares chave-valor)
Set<Map.Entry<KeyType, ValueType>> entries = map.entrySet();
// Obter o tamanho do Map
int size = map.size();
Uso de Map.Entry na iteração:
// Iterar sobre o conjunto de entradas
for (Map.Entry<KeyType, ValueType> entry : map.entrySet()) {
KeyType key = entry.getKey();
ValueType value = entry.getValue();
// ...
}