Java HashMap
Java HashMap
No ArrayList
capítulo, você aprendeu que Arrays armazenam itens como uma coleção ordenada, e você deve acessá-los com um número de índice ( int
type). A HashMap
, no entanto, armazena itens em pares " chave / valor ", e você pode acessá-los por um índice de outro tipo (por exemplo, a String
).
Um objeto é usado como chave (índice) para outro objeto (valor). Pode armazenar diferentes tipos: String
chaves e Integer
valores, ou o mesmo tipo, como: String
chaves e String
valores:
Exemplo
Crie um HashMap
objeto chamado capitalCities que armazenará String
chaves e String
valores :
import java.util.HashMap; // import the HashMap class
HashMap<String, String> capitalCities = new HashMap<String, String>();
Adicionar itens
A HashMap
classe tem muitos métodos úteis. Por exemplo, para adicionar itens a ele, use o put()
método:
Exemplo
// Import the HashMap class
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// Create a HashMap object called capitalCities
HashMap<String, String> capitalCities = new HashMap<String, String>();
// Add keys and values (Country, City)
capitalCities.put("England", "London");
capitalCities.put("Germany", "Berlin");
capitalCities.put("Norway", "Oslo");
capitalCities.put("USA", "Washington DC");
System.out.println(capitalCities);
}
}
Acessar um item
Para acessar um valor no HashMap
, use o get()
método e consulte sua chave:
Exemplo
capitalCities.get("England");
Remover um item
Para remover um item, use o remove()
método e consulte a chave:
Exemplo
capitalCities.remove("England");
Para remover todos os itens, use o clear()
método:
Exemplo
capitalCities.clear();
Tamanho do mapa de hash
Para descobrir quantos itens existem, use o size()
método:
Exemplo
capitalCities.size();
Loop através de um HashMap
Faça um loop pelos itens de a HashMap
com um loop for-each .
Nota: Use o keySet()
método se quiser apenas as chaves e use o values()
método se quiser apenas os valores:
Exemplo
// Print keys
for (String i : capitalCities.keySet()) {
System.out.println(i);
}
Exemplo
// Print values
for (String i : capitalCities.values()) {
System.out.println(i);
}
Exemplo
// Print keys and values
for (String i : capitalCities.keySet()) {
System.out.println("key: " + i + " value: " + capitalCities.get(i));
}
Outros tipos
Chaves e valores em um HashMap são na verdade objetos. Nos exemplos acima, usamos objetos do tipo "String". Lembre-se que uma String em Java é um objeto (não um tipo primitivo). Para usar outros tipos, como int, você deve especificar uma classe wrapper equivalente : Integer
. Para outros tipos primitivos, use: Boolean
for boolean, Character
for char, Double
for double, etc:
Exemplo
Crie um HashMap
objeto chamado
pessoas que armazenará String
chaves e
Integer
valores :
// Import the HashMap class
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// Create a HashMap object called people
HashMap<String, Integer> people = new HashMap<String, Integer>();
// Add keys and values (Name, Age)
people.put("John", 32);
people.put("Steve", 30);
people.put("Angie", 33);
for (String i : people.keySet()) {
System.out.println("key: " + i + " value: " + people.get(i));
}
}
}