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.
Um die Position eines Elements in Java TreeMap zu finden, können wir die folgende Syntax verwenden -
int position = Collections.binarySearch(treeMap.values(), element);
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.
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.
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."); } } }
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.
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.
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."); } } }
Element found at position: 2
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.
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.
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."); } } }
Element found at position: 2
Ä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.
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."); } } }
Element found at position: 4
Fazit
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!