Assoziatives Array in Java

Mohammad Irfan 12 Oktober 2023
  1. Verwendung von das assoziative Array in Java
  2. Zusammenfassung des assoziativen Arrays in Java
  3. Implementieren ein assoziatives Array in Java
  4. Erstellen Sie ein assoziatives Array in Java
  5. Hinzufügen von Elementen zum assoziativen Array in Java
  6. Traverse-Elemente des assoziativen Arrays in Java
  7. Elemente des assoziativen Arrays mit der Methode forEach() in Java 8 durchlaufen
Assoziatives Array in Java

Ein assoziatives Array ist eine Art Array, das die Menge der Elemente in Paaren aus Schlüssel und Wert speichert. Es ist eine Sammlung von Schlüsseln und Werten, wobei der Schlüssel eindeutig ist und einem Wert zugeordnet ist.

Wenn wir auf das Element aus dem assoziativen Array zugreifen müssen, müssen wir den Namen des Arrays aufrufen und den Schlüssel auf dessen Wert wir zugreifen wollen übergeben.

Verwendung von das assoziative Array in Java

Zum Beispiel haben wir ein Array namens marks, das die Rollennummer und die Noten der Schüler speichert.

Wenn wir also auf die Note eines bestimmten Schülers zugreifen müssen, können wir so Noten 105 nennen, wobei Noten der Name eines Arrays sind und 105 die Rollennummer des Schülers ist, keine Indexnummer, die es ist nicht möglich in einem Array, wenn wir die Java-Sprache verwenden.

Daher unterstützt assoziatives Array Java nicht, aber wir können es leicht mit HashMap erreichen. Java unterstützt keine assoziativen Arrays, kann aber mithilfe der Map implementiert werden.

Zusammenfassung des assoziativen Arrays in Java

HashMap<String, String> hashmap = new HashMap<>();
// method to add the key,value pair in hashmap
hashmap.put("Key1", "Value1");
hashmap.put("Key2", "Value2");
hashmap.put("Key3", "Value3");
// and many more...
// get the value 1 and 2
System.out.println(hashmap.get("Key1"));
System.out.println(hashmap.get("Key2"));
// and many more...

Implementieren ein assoziatives Array in Java

Um ein assoziatives Array in Java zu implementieren, haben wir HashMap verwendet, eine Implementierungsklasse der Map-Schnittstelle. Lassen Sie uns Schritt für Schritt verstehen.

Importieren und initialisieren Sie zuerst die HashMap, d. h. erstellen Sie eine Instanz von HashMap, indem Sie die folgenden Anweisungen verwenden.

import java.util.HashMap;
HashMap<String, String> hashmap = new HashMap<>();

Fügen Sie dann mit der Methode put() den Schlüsselwert zur HashMap hinzu.

hashmap.put("Key1", "Value1");

Konvertieren Sie die HashMap mithilfe der Methode entrySet() in Set, um doppelte Schlüssel zu entfernen.

Set<Map.Entry<String, String> > set = map.entrySet();

Konvertieren Sie das Set in eine ArrayList, die ein Array ist, das wir wollen.

List<Map.Entry<String, String>> list = new ArrayList<>(set);

Erstellen Sie ein assoziatives Array in Java

In diesem Beispiel haben wir die Klasse HashMap verwendet, um das assoziative Array in Java zu implementieren.

Sehen Sie, es enthält Daten im Schlüssel-Wert-Paar-Format, und wir haben die Methode getKey() verwendet, um auf den Schlüssel zuzugreifen, und die Methode getValue(), um auf Werte zuzugreifen.

import java.io.*;
import java.util.*;
public class SimpleTesting {
  public static void main(String[] args) {
    HashMap<String, String> hashmap = new HashMap<>();
    hashmap.put("Virat", "Batsman");
    hashmap.put("Bumrah", "Bowler");
    hashmap.put("Jadeja", "All-rounder");
    hashmap.put("Pant", "Wicket-Keeper");

    Set<Map.Entry<String, String>> s = hashmap.entrySet();
    List<Map.Entry<String, String>> array = new ArrayList<>(s);
    for (int i = 0; i < array.size(); i++) {
      System.out.println(array.get(i).getKey() + " is " + array.get(i).getValue());
    }
  }
}

Ausgabe:

Pant is Wicket-Keeper
Jadeja is All-rounder
Bumrah is Bowler
Virat is Batsman

Wie wir bereits besprochen haben, sollte dieser Schlüssel eindeutig sein. Wenn wir dieselben Schlüssel in das assoziative Array einfügen, wird eines der Schlüssel-Wert-Paare verworfen.

Wir haben zwei gleiche Schlüssel, Virat, in den folgenden Code eingefügt. Siehe das Beispiel unten.

import java.io.*;
import java.util.*;
public class SimpleTesting {
  public static void main(String[] args) {
    HashMap<String, String> hashmap = new HashMap<>();
    hashmap.put("Virat", "Batsman");
    hashmap.put("Bumrah", "Bowler");
    hashmap.put("Jadeja", "All-rounder");
    hashmap.put("Pant", "Wicket-Keeper");
    hashmap.put("Virat", "Captain");

    Set<Map.Entry<String, String>> s = hashmap.entrySet();
    List<Map.Entry<String, String>> array = new ArrayList<>(s);
    for (int i = 0; i < array.size(); i++) {
      System.out.println(array.get(i).getKey() + " is " + array.get(i).getValue());
    }
  }
}

Ausgabe:

Pant is Wicket-Keeper
Jadeja is All-rounder
Bumrah is Bowler
Virat is Captain

Hinzufügen von Elementen zum assoziativen Array in Java

Wir können ein Element zu einem Array in der Karte hinzufügen, indem wir die Methode put() verwenden. Ebenso können wir mit der Methode remove() ein Element aus einem Array entfernen.

Wir können die Größe des Arrays mit der Methode size() herausfinden.

import java.util.HashMap;
public class SimpleTesting {
  public static void main(String[] args) {
    HashMap<String, String> fruits = new HashMap<String, String>();
    fruits.put("Apple", "Red");
    fruits.put("Banana", "Yellow");
    fruits.put("Guava", "Green");
    fruits.put("Blackberries", "Purple");

    System.out.println("The Size of fruits Map is : " + fruits.size());
    // Remove Banana from the HashMap
    fruits.remove("Banana");
    // To find out the size of the Hashmap
    System.out.println("The Size of fruits Map is : " + fruits.size());
    // Check whether the key is present in the Hashmap or not
    String fruit_key = "Apple";
    if (fruits.containsKey(fruit_key)) {
      System.out.println("The colour of " + fruit_key + " is: " + fruits.get(fruit_key));
    } else {
      System.out.println("There is no entry for the fruit of " + fruit_key);
    }
  }
}

Ausgabe:

The Size of fruits Map is : 4
The Size of fruits Map is : 3
The colour of Apple is: Red

Traverse-Elemente des assoziativen Arrays in Java

Wir können die for-each-Schleife verwenden, um das assoziative Array zu durchlaufen. Da HashMap zum java.util-Paket gehört, können wir die foreach-Schleife verwenden, um seine Elemente zu iterieren.

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class SimpleTesting {
  public static void main(String[] args) {
    HashMap<String, String> fruits = new HashMap<String, String>();
    fruits.put("Apple", "Red");
    fruits.put("Banana", "Yellow");
    fruits.put("Guava", "Green");
    fruits.put("Blackberries", "Purple");
    System.out.println("The Size of fruits Map is : " + fruits.size());
    for (Map.Entry element : fruits.entrySet()) {
      String key = (String) element.getKey();
      System.out.println(key + " : " + element.getValue());
    }
  }
}

Ausgabe:

The Size of fruits Map is : 4
Guava : Green
Apple : Red
Blackberries : Purple
Banana : Yellow

Elemente des assoziativen Arrays mit der Methode forEach() in Java 8 durchlaufen

Wenn Sie mit Java 8 oder einer höheren Version arbeiten, können Sie die Methode forEach() verwenden, um die Array-Elemente zu durchlaufen. Die Methode forEach() benötigt als Argument einen lambda-Ausdruck.

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class SimpleTesting {
  public static void main(String[] args) {
    HashMap<String, String> fruits = new HashMap<String, String>();
    fruits.put("Apple", "Red");
    fruits.put("Banana", "Yellow");
    fruits.put("Guava", "Green");
    fruits.put("Blackberries", "Purple");

    System.out.println("The Size of fruits Map is : " + fruits.size());
    fruits.forEach((k, v) -> System.out.println(k + " : " + v));
  }
}

Ausgabe:

The Size of fruits Map is : 4
Guava : Green
Apple : Red
Blackberries : Purple
Banana : Yellow

Dieses Tutorial hat untersucht, dass Java das assoziative Array technisch nicht unterstützt, aber wir können es leicht mit HashMap erreichen.

Verwandter Artikel - Java Array