Heim  >  Artikel  >  Java  >  Finden Sie die Position des Elements in Java TreeMap

Finden Sie die Position des Elements in Java TreeMap

王林
王林nach vorne
2023-08-24 17:05:021068Durchsuche

在Java TreeMap中查找元素的位置

In Java bietet die TreeMap-Klasse eine effiziente Möglichkeit, Schlüssel-Wert-Paare in geordneter Weise zu speichern. Manchmal müssen wir möglicherweise die Position eines bestimmten Elements in einer TreeMap herausfinden. In diesem Artikel werden wir verschiedene Möglichkeiten zur Bewältigung dieser Aufgabe untersuchen. Wir besprechen die Syntax und Algorithmen und stellen ausführbare Codebeispiele für jede Methode bereit.

Grammatik

Um die Position eines Elements in Java TreeMap zu finden, können wir die folgende Syntax verwenden -

int position = Collections.binarySearch(treeMap.values(), element);

Grammatikerklärung

Die Strategie

Collections.binarySearch() wird verwendet, um eine binäre Suche in sortierten Listen durchzuführen. In unserem Fall übergeben wir den Wert der TreeMap an die Strategie und übergeben die Komponente, in der wir den Standort finden müssen. Die Richtlinie gibt die Position der Komponente zurück, wenn die Komponente in der Liste gefunden wird, andernfalls gibt sie einen negativen Wert zurück.

Methode 1: Verwenden Sie BinarySearch()

Algorithmus

  • Verwenden Sie die Methode „values()“, um Werte von TreeMap abzurufen.

  • Verwenden Sie Collections.binarySearch(), um eine binäre Suche nach einem Wert durchzuführen.

  • Speichern Sie das Ergebnis in einer Variablen namens Position.

  • Wenn die Position größer oder gleich 0 ist, wird das Element gefunden. Andernfalls ist es nicht in der TreeMap enthalten.

Beispiel

import java.util.Collections;
import java.util.TreeMap;

public class TreeMapPositionFinder {
   public static void main(String[] args) {
      TreeMap<Integer, String> treeMap = new TreeMap<>();
      treeMap.put(1, "Apple");
      treeMap.put(2, "Banana");
      treeMap.put(3, "Orange");
      treeMap.put(4, "Mango");

      String element = "Banana";

      int position = Collections.binarySearch(treeMap.values(), element);

      if (position >= 0) {
         System.out.println("Element found at position: " + (position + 1));
      } else {
         System.out.println("Element not found in the TreeMap.");
      }
   }
}

Erklärung

Bei dieser Methode erstellen wir eine TreeMap und füllen sie mit einigen Schlüssel-Wert-Paaren. Anschließend definieren wir das gesuchte Element, in diesem Fall „Banane“. Verwenden Sie die Methode Collections.binarySearch(), um nach Elementen innerhalb der Werte einer TreeMap zu suchen. Wenn das Element gefunden wird, geben wir seine Position aus, indem wir 1 zur Positionsvariablen hinzufügen. Andernfalls zeigen wir, dass das Element nicht in der TreeMap angezeigt wird.

Methode 2: Verwenden Sie die Methoden keySet() und get() von TreeMap

Algorithmus

  • Verwenden Sie die Methode keySet(), um keySet von TreeMap abzurufen.

  • Über Schlüssel iterieren.

  • Überprüfen Sie, ob der mit jedem Schlüssel verknüpfte Wert mit dem gesuchten Element übereinstimmt.

  • Wenn eine Übereinstimmung gefunden wird, wird der entsprechende Schlüssel in einer Variablen namens Position gespeichert.

  • Wenn die Position nicht leer ist, bedeutet dies, dass das Element gefunden wurde. Andernfalls ist es in der TreeMap nicht vorhanden.

Beispiel

import java.util.TreeMap;

public class TreeMapPositionFinder {
   public static void main(String[] args) {
      TreeMap<Integer, String> treeMap = new TreeMap<>();
      treeMap.put(1, "Apple");
      treeMap.put(2, "Banana");
      treeMap.put(3, "Orange");
      treeMap.put(4, "Mango");

      String element = "Banana";
      Integer position = null;

      for (Integer key : treeMap.keySet()) {
         if (treeMap.get(key).equals(element)) {
            position = key;
            break;
         }
      }

      if (position != null) {
         System.out.println("Element found at position: " + position);
      } else {
         System.out.println("Element not found in the TreeMap.");
      }
   }
}

Ausgabe

Element found at position: 2

Erklärung

Bei dieser Methode erstellen wir erneut eine TreeMap und füllen sie mit Schlüssel-Wert-Paaren. Wir beschreiben die Komponente, die wir finden müssen, in diesem Fall „Banane“. Anschließend verwenden wir eine for-each-Schleife, um die Schlüssel zu durchlaufen und zu prüfen, ob der mit jedem Schlüssel verknüpfte Wert mit dem gesuchten Element übereinstimmt. Wird eine Übereinstimmung gefunden, speichern wir den entsprechenden Schlüssel in der Positionsvariablen. Abschließend prüfen wir, ob die Position ungültig ist, um festzustellen, ob das Element in der TreeMap angezeigt wird.

Methode 3: Verwenden Sie die Methoden enterSet() und getValue() von TreeMap

Algorithmus

  • Verwenden Sie die Methode „entrySet()“, um das „entrySet“ aus der TreeMap abzurufen.

  • Einträge durchgehen.

  • Überprüfen Sie, ob der Wert jedes Eintrags dem gesuchten Element entspricht.

  • Wenn eine Übereinstimmung gefunden wird, wird der entsprechende Schlüssel in einer Variablen namens Position gespeichert.

  • Wenn die Position nicht leer ist, bedeutet dies, dass das Element gefunden wurde. Andernfalls ist es in der TreeMap nicht vorhanden.

Beispiel

import java.util.Map;
import java.util.TreeMap;

public class TreeMapPositionFinder {
   public static void main(String[] args) {
      TreeMap<Integer, String> treeMap = new TreeMap<>();
      treeMap.put(1, "Apple");
      treeMap.put(2, "Banana");
      treeMap.put(3, "Orange");
      treeMap.put(4, "Mango");

      String element = "Banana";
      Integer position = null;

      for (Map.Entry<Integer, String> entry : treeMap.entrySet()) {
         if (entry.getValue().equals(element)) {
            position = entry.getKey();
            break;
         }
      }

      if (position != null) {
         System.out.println("Element found at position: " + position);
      } else {
         System.out.println("Element not found in the TreeMap.");
      }
   }
}

Ausgabe

Element found at position: 2

Erklärung

Ähnlich wie bei der zweiten Methode erstellen wir eine TreeMap, befüllen sie und beschreiben die Komponenten, die wir entdecken müssen. Anschließend verwenden wir eine for-each-Schleife, um die Einträge der TreeMap hervorzuheben und zu prüfen, ob der Wert jedes Eintrags mit der Komponente übereinstimmt. Wird eine Übereinstimmung gefunden, speichern wir den entsprechenden Schlüssel in der Positionsvariablen. Abschließend prüfen wir, ob die Position ungültig ist, um festzustellen, ob die Komponente in der TreeMap angezeigt wird.

Methode 4: Verwenden Sie die Werte()-Methode und indexOf() von TreeMap

Algorithmus

  • Verwenden Sie die Methode „values()“, um Werte von TreeMap abzurufen.

  • Finden Sie den Index eines Elements mit der Methode indexOf().

  • Wenn der Index größer oder gleich 0 ist, bedeutet dies, dass das Element gefunden wurde. Andernfalls ist es nicht in der TreeMap enthalten.

Beispiel

import java.util.ArrayList;
import java.util.TreeMap;

public class TreeMapPositionFinder {
   public static void main(String[] args) {
      TreeMap<Integer, String> treeMap = new TreeMap<>();
      treeMap.put(1, "Apple");
      treeMap.put(2, "Banana");
      treeMap.put(3, "Orange");
      treeMap.put(4, "Mango");

      String element = "Mango";

      ArrayList<String> values = new ArrayList<>(treeMap.values());
      int position = values.indexOf(element);

      if (position >= 0) {
         System.out.println("Element found at position: " + (position + 1));
      } else {
         System.out.println("Element not found in the TreeMap.");
      }
   }
}

Ausgabe

Element found at position: 4

Erklärung

Bei dieser Methode erstellen wir zunächst eine TreeMap und füllen sie. Wir beschreiben die Komponente, die wir entdecken müssen, hier „Banane“. Anschließend verwenden wir die Methode „values()“, um eine ArrayList zu erstellen, die die TreeMap-Werte enthält. Den Index der Komponente finden wir in der ArrayList mit der Methode indexOf(). Wenn der Index größer oder gleich 0 ist, geben wir die Position der Komponente aus. Andernfalls weisen wir darauf hin, dass das Element nicht in der TreeMap angezeigt wird.

Fazit

In diesem Artikel haben wir verschiedene Möglichkeiten untersucht, die Position eines Elements in einer Java TreeMap zu ermitteln. Wir untersuchen Sprachkonstrukte und Berechnungen und stellen für jeden Ansatz ausführbare Codebeispiele bereit. Abhängig von Ihren spezifischen Bedürfnissen und Vorlieben können Sie die Methode wählen, die Ihren Bedürfnissen am besten entspricht. Der TreeMap-Kurs in Java bietet eine leistungsstarke und effiziente Möglichkeit, sortierte Daten zu speichern und zu bearbeiten, sodass Sie verschiedene Vorgänge problemlos ausführen können.

Das obige ist der detaillierte Inhalt vonFinden Sie die Position des Elements in Java TreeMap. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen