Java HashMap


Java HashMap

In die ArrayListhoofstuk het jy geleer dat Arrays items stoor as 'n geordende versameling, en jy moet toegang daartoe kry met 'n indeksnommer ( inttipe). HashMapStoor items egter in " sleutel / waarde " pare, en jy kan toegang tot hulle kry deur ' n indeks van 'n ander tipe (bv. 'n String).

Een voorwerp word as 'n sleutel (indeks) vir 'n ander voorwerp (waarde) gebruik. Dit kan verskillende tipes stoor: Stringsleutels en Integerwaardes, of dieselfde tipe, soos: Stringsleutels en Stringwaardes:

Voorbeeld

Skep 'n HashMapvoorwerp genaamd capitalCities wat String sleutels en String waardes sal stoor :

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

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

Voeg items by

Die HashMapklas het baie nuttige metodes. Byvoorbeeld, om items daarby te voeg, gebruik die put()metode:

Voorbeeld

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


Toegang tot 'n item

Om toegang tot 'n waarde in die HashMap, gebruik die get()metode en verwys na sy sleutel:

Voorbeeld

capitalCities.get("England");


Verwyder 'n item

Om 'n item te verwyder, gebruik die remove()metode en verwys na die sleutel:

Voorbeeld

capitalCities.remove("England");

Om alle items te verwyder, gebruik die clear()metode:

Voorbeeld

capitalCities.clear();



HashMap Grootte

Om uit te vind hoeveel items daar is, gebruik die size()metode:

Voorbeeld

capitalCities.size();


Loop deur 'n HashMap

Loop deur die items van 'n HashMapmet 'n vir-elke lus.

Let wel: Gebruik die keySet()metode as jy net die sleutels wil hê, en gebruik die values()metode as jy net die waardes wil hê:

Voorbeeld

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

Voorbeeld

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

Voorbeeld

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


Ander tipes

Sleutels en waardes in 'n HashMap is eintlik voorwerpe. In die voorbeelde hierbo het ons voorwerpe van die tipe "String" gebruik. Onthou dat 'n string in Java 'n objek is (nie 'n primitiewe tipe nie). Om ander tipes te gebruik, soos int, moet jy 'n ekwivalente omhulklas spesifiseer : Integer. Vir ander primitiewe tipes, gebruik: Booleanvir boolean, Charactervir char, Doublevir dubbel, ens:

Voorbeeld

Skep 'n HashMapvoorwerp genaamd mense wat String sleutels en Integer waardes sal stoor :

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