Introdução ao mapa
Mapeie a chave para o objeto do valor. Um mapa não pode conter teclas duplicadas; Cada tecla só pode mapear para um valor no máximo. Essa interface substitui a classe de dicionário, que é totalmente uma classe abstrata, não uma interface.
A interface do mapa fornece três visualizações de coleção que permitem a visualização do conteúdo de um mapa na forma de um conjunto de chaves, um conjunto de valores ou um conjunto de relacionamento com mapeamento de valor-chave. A ordem de mapeamento é definida como a ordem em que o iterador retorna seus elementos na visualização da coleção do mapa. Algumas implementações de mapeamento garantem explicitamente sua ordem, como a classe Treemap; Outros não garantem sua ordem, como a classe Hashmap.
Nota: Deve -se tomar cuidado extra ao usar objetos mutáveis como teclas de mapeamento. Quando um objeto é uma chave em um mapa, se o valor do objeto for alterado de uma maneira que afete a comparação igual, o comportamento do mapa será incerto. Um caso especial que isso proíbe é que um mapa não se permite incluir uma chave. Embora um mapa possa incluir -se como um valor, tenha cuidado: a definição de métodos iguais e hashcode não será mais explícita nesses mapas.
Todas as classes de implementação de mapeamento comuns devem fornecer dois construtores "padrão": um construtor de vazios (nenhum parâmetro) para criar mapas vazios; e um construtor com um parâmetro de tipo de mapa único para criar um novo mapa com o mesmo relacionamento de mapeamento de valor-chave que seus parâmetros. De fato, o último construtor permite que o usuário copie mapas arbitrários para gerar um mapa equivalente da classe necessária. Embora essa sugestão não possa ser aplicada (porque a interface não pode conter construtores), todas as implementações comuns de mapeamento no JDK a seguem.
Os métodos "destruir" contidos nessa interface modificam o mapeamento de suas operações e, se esse mapeamento não suportar a operação, esses métodos lançarão uma exceção não suportada. Nesse caso, esses métodos podem (mas não exigem) lançar UnsupportedOperationException quando a chamada é inválida para o mapeamento. Por exemplo, se um mapa não modificado cujo relacionamento de mapeamento estiver "sobreposto" estiver vazio, uma exceção pode ser lançada (mas não necessária) ao chamar o método Putall (mapa) para o mapa.
Algumas implementações de mapeamento têm limitações nas chaves e valores que podem ser incluídos. Por exemplo, algumas implementações proíbem chaves e valores nulos, outros têm restrições ao tipo de suas chaves. Tentar inserir uma chave ou valor não qualificado lançará uma exceção desmarcada, geralmente uma NullPointerException ou ClassCastException. Tentar consultar se uma chave ou valor não qualificado pode lançar uma exceção ou retornar falsa; Algumas implementações exibirão o comportamento anterior, enquanto outras exibirão o último. De um modo geral, ao tentar executar uma operação em uma chave ou valor não qualificado e a conclusão da operação não resulta em um elemento não qualificado sendo inserido no mapa, uma exceção pode ser lançada ou a operação pode ser bem -sucedida, dependendo da própria implementação. Tais exceções são marcadas "opcionais" na especificação desta interface.
Esta interface é um membro da estrutura de coleções Java.
Muitos métodos na interface da estrutura de coleções são definidos de acordo com o método igual. Por exemplo, a especificação do método ContainsKey (chave do objeto) diz: "Retorne true se e somente se este mapa contiver uma relação de mapeamento para a chave k que satisfaz (key == null? K == null: key.equals (keart). O chamado é igual.
Instruções operacionais comuns void transparente ()
Remova todos os relacionamentos de mapeamento deste mapa (ação opcional).
Boolean ContainsKey (chave do objeto)
Retorna true se este mapa contiver um relacionamento de mapeamento para a chave especificada.
Boolean ContansValue (valor do objeto)
Retorna true se este mapa mapear uma ou mais chaves para o valor especificado.
Set <pap.entry <k, v >> Entryset ()
Retorna a visualização definida das relações de mapeamento contidas neste mapa.
BOOLEANOS Iguals (objeto O)
Compare se o objeto especificado é igual a este mapa.
V Get (chave do objeto)
Retorna o valor mapeado pela chave especificada; Se este mapa não contiver a relação de mapeamento da chave, retorne nulo.
int hashcode ()
Retorna o valor do código de hash para este mapa.
Boolean isEmpty ()
Retorne true se este mapa não contiver um relacionamento de mapeamento de valor-chave.
Set <K> KeySet ()
Retorna a visualização definida das teclas contidas neste mapa.
V put (K -Key, V Valor)
Associe o valor especificado à chave especificada neste mapa (ação opcional).
Void Putall (mapa <? Extende k ,? estende v> m)
Copie todos os relacionamentos de mapeamento do mapeamento especificado neste mapa (ação opcional).
V Remover (chave do objeto)
Se houver um relacionamento de mapeamento para uma chave, ela será removida deste mapa (opcional).
int size ()
Retorna a relação de mapeamento de valor-chave neste mapa.
Coleção <V> valores ()
Retorna a visão de coleção dos valores contidos neste mapa.
Uso geral do mapa
1. Declare um mapa:
A cópia do código é a seguinte:
Mapa mapa = new hashmap ();
2. Coloque o valor no mapa. Nota: o mapa é armazenado na forma de valor-chave, como:
A cópia do código é a seguinte:
map.put ("SA", "DD");
3. Pegue o valor do mapa:
A cópia do código é a seguinte:
String str = map.get ("sa"). ToString,
O resultado é: str = "dd '
4. Itera através de um mapa e obtenha a chave e o valor dele:
A cópia do código é a seguinte:
Mapa m = new hashmap ();
for (objeto obj: map.keyset ()) {
Valor do objeto = map.get (obj);
}