Mapa
Visão geral do mapa
A interface Map é um conjunto de duas colunas, cada elemento contendo uma chave de objeto chave e um valor de objeto de valor, e a chave e o valor têm uma correspondência um para um. Ao acessar elementos no mapa, desde que você encontre a chave especificada, você pode encontrar o valor correspondente.
Coleção HashMap
A coleção HashMap é uma classe de implementação da interface Map. Ela não é segura para threads e é usada para armazenar relacionamentos de mapeamento de valor-chave, mas é garantido que as mesmas chaves não podem aparecer. Se houver as mesmas chaves, resuma uma frase: as chaves são as mesmas, os valores são sobrescritos .
Exemplos:
public class Exception05 {
public static void main(String[] args) {
//创建一个map
Map hashMap = new HashMap();
//通过put(key, value)方法存储
hashMap.put("name1", "张一");
hashMap.put("name1", "李四");
hashMap.put("name2", "张二");
hashMap.put("name3", "张三");
hashMap.put("name4", "张四");
//通过get(key)方法取值输出
System.out.println("取出key为name1的value为:" + hashMap.get("name1"));
//map集合的遍历
for (Object entry : hashMap.entrySet()){
System.out.println(entry);
}
}
}
Resultado da operação:
usamos o método put () para salvar cinco chaves e os valores correspondentes. Uma chave é a mesma. A partir dos resultados, pode-se ver que o valor igual a Zhang Yi não é gerado e impresso. Esta é a chave é a mesma, o valor é sobrescrito.
Coleção LinkedHashMap
Como pode ser visto nos resultados da execução do exemplo acima, a saída dos resultados ao percorrer a coleção de mapas não está na ordem em que os armazenamos. Se você deseja tornar a saída do resultado da travessia consistente com os resultados armazenados, deve usar a classe LinkedHashMap, que é uma subclasse de HashMap. Ele também usa uma lista duplamente vinculada para manter o relacionamento dos elementos internos.
Exemplos:
public class Exception06 {
public static void main(String[] args) {
//创建LinkedHashMap集合
Map linkedHashMap = new LinkedHashMap();
//存储值
linkedHashMap.put("1","jack1");
linkedHashMap.put("2","jack2");
linkedHashMap.put("3","jack3");
//循环遍历输出
for (Object entry: linkedHashMap.entrySet()){
System.out.println(entry);
}
}
}
Resultado da operação:
pode-se verificar pelo resultado da operação que a ordem dos elementos iterados é a mesma que a ordem de armazenamento.
Coleção TreeMap
TreeMap também é uma classe de implementação da interface Map. A coleção é usada para armazenar a relação de mapeamento de valor-chave. Ela não permite chaves duplicadas . A coleção TreeMap usa o princípio de uma árvore binária para garantir a exclusividade das chaves.
Exemplos:
public class Exception07 {
public static void main(String[] args) {
Map treeMap = new TreeMap();//创建TreeMap集合
treeMap.put("1","张三");//存入三个值
treeMap.put("2","李四");
treeMap.put("3","王二");
Set keySet = treeMap.keySet();//获得键的集合
Iterator iterator = keySet.iterator();//获得iterator对象
while (iterator.hasNext()){
//判断是否存在下一个对象
Object key = iterator.next();//取出元素
Object value = treeMap.get(key);//根据获得的键找对应的key
System.out.println(key + "=" + value);
}
}
}
resultado da operação:
Coleção de propriedades
A classe Properties é uma classe de implementação de Hashtable, e Hashtable implementa a interface Map. Hashtable e Hashmap são muito semelhantes, a diferença é que Hashtable é seguro para threads, é muito lento para acessar os elementos e basicamente não é usado agora. Mas uma subclasse de Hashtable é Propriedades.No entanto, Propriedades são muito importantes em aplicações práticas.No desenvolvimento real, a coleção Propriedades é freqüentemente usada para acessar os itens de configuração do aplicativo.
Vamos! ! !
Da próxima vez, aprenderei como percorrer as coleções de Lista e Mapa.