Wird die Reihenfolge des Hash-Map-Abrufs beibehalten?
In Java verwenden HashMaps einen bestimmten Algorithmus zum Speichern und Abrufen von Daten, was bei einigen Benutzern Fragen aufwirft die Reihenfolge, in der Werte abgerufen werden. Während wir uns mit einem Codeausschnitt befassen, werden wir die Wahrheit hinter der HashMap-Abrufreihenfolge aufdecken.
import java.util.HashMap; public class HashMapExample { public static void main(String[] args) { HashMap<Integer, String> hashmap = new HashMap<Integer, String>(); hashmap.put(1, "apple" ); hashmap.put(2, "lemon" ); hashmap.put(3, "orange" ); hashmap.put(4, "banana" ); hashmap.put(5, "litchi" ); hashmap.put(6, "mango" ); hashmap.put(7, "papaya" ); System.out.println(hashmap.size()); for (String key : hashmap.values()) { System.out.println(key); } } }
Ausgabe:
7 apple lemon orange banana litchi mango papaya
Überraschendes Verhalten :
Überraschenderweise werden die Werte abgerufen in der gleichen Reihenfolge, in der sie eingefügt wurden. Diese Beobachtung trifft jedoch möglicherweise nicht immer zu.
Die Wahrheit:
Laut HashMap Javadoc gibt es keine Garantie dafür, dass die Abrufreihenfolge im Laufe der Zeit konsistent bleibt . Dies bedeutet, dass sich die Abrufreihenfolge beliebig ändern kann.
Benötigen Sie eine konsistente Reihenfolge?
Wenn eine konsistente Reihenfolge entscheidend ist, können Sie sich für alternative Datenstrukturen wie LinkedHashMap oder TreeMap entscheiden .
Das obige ist der detaillierte Inhalt vonGarantiert Javas HashMap die Abrufreihenfolge?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!