Heim > Java > javaLernprogramm > Garantiert Javas HashMap die Abrufreihenfolge?

Garantiert Javas HashMap die Abrufreihenfolge?

Susan Sarandon
Freigeben: 2024-12-14 08:13:10
Original
424 Leute haben es durchsucht

Does Java's HashMap Guarantee Retrieval Order?

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);
       }
   }
}
Nach dem Login kopieren

Ausgabe:

7
apple
lemon
orange
banana
litchi
mango
papaya
Nach dem Login kopieren

Ü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 .

  • LinkedHashMap: Behält die Einfüge- oder Zugriffsreihenfolge bei (LIFO)
  • TreeMap: Behält die Vergleichsreihenfolge basierend auf dem Schlüssel bei

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage