HashMap Java


HashMap Java

Nel ArrayListcapitolo, hai appreso che gli array memorizzano gli articoli come una raccolta ordinata e devi accedervi con un numero di indice ( inttipo). HashMapTuttavia, memorizza gli elementi in coppie " chiave / valore " e puoi accedervi tramite un indice di un altro tipo (ad esempio a ) String.

Un oggetto viene utilizzato come chiave (indice) per un altro oggetto (valore). Può memorizzare diversi tipi: Stringchiavi e Integervalori, o lo stesso tipo, come: Stringchiavi e Stringvalori:

Esempio

Crea un HashMapoggetto chiamato capitalCities che memorizzerà String chiavi e String valori :

import java.util.HashMap; // import the HashMap class

HashMap<String, String> capitalCities = new HashMap<String, String>();

Aggiungi elementi

La HashMapclasse ha molti metodi utili. Ad esempio, per aggiungere elementi ad esso, utilizzare il put()metodo:

Esempio

// 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);
  }
}


Accedi a un elemento

Per accedere a un valore in HashMap, utilizzare il get()metodo e fare riferimento alla sua chiave:

Esempio

capitalCities.get("England");


Rimuovi un elemento

Per rimuovere un elemento, utilizzare il remove()metodo e fare riferimento alla chiave:

Esempio

capitalCities.remove("England");

Per rimuovere tutti gli elementi, utilizzare il clear()metodo:

Esempio

capitalCities.clear();



Dimensione hashmap

Per scoprire quanti articoli ci sono, usa il size()metodo:

Esempio

capitalCities.size();


Passa attraverso una HashMap

Passa in rassegna gli elementi di a HashMapcon un ciclo for-ogni .

Nota: usa il keySet()metodo se vuoi solo le chiavi e usa il values()metodo se vuoi solo i valori:

Esempio

// Print keys
for (String i : capitalCities.keySet()) {
  System.out.println(i);
}

Esempio

// Print values
for (String i : capitalCities.values()) {
  System.out.println(i);
}

Esempio

// Print keys and values
for (String i : capitalCities.keySet()) {
  System.out.println("key: " + i + " value: " + capitalCities.get(i));
}


Altri tipi

Chiavi e valori in una HashMap sono in realtà oggetti. Negli esempi precedenti, abbiamo utilizzato oggetti di tipo "String". Ricorda che una stringa in Java è un oggetto (non un tipo primitivo). Per utilizzare altri tipi, come int, devi specificare una classe wrapper equivalente : Integer. Per altri tipi primitivi, usa: Booleanfor boolean, Characterfor char, Doublefor double, ecc:

Esempio

Crea un HashMapoggetto chiamato persone che memorizzerà String chiavi e Integer valori :

// 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));
    }
  }
}