Junior — Middle
Java-da HashMap və LinkedHashMap arasındakı davranış və xüsusiyyətlərdə nə fərq var?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da HashMap və LinkedHashMap aşağıdakı kimi fərqlənir:
-
HashMap açar-dəyər cütlərini sırasız saxlayır. Elementlərin sırası əlavə etmə və ya silmə ilə dəyişə bilər.
-
LinkedHashMap HashMap-i genişləndirir və elementlərin əlavə edilmə sırasını saxlayır. Bu, iterasiya zamanı elementlərin əlavə olunduğu sırayla qaytarılacağı deməkdir.
Xüsusiyyətlər:
- LinkedHashMap, sıralama üçün əlaqəli siyahı dəstəyi səbəbindən bir az daha yavaşdır.
- LinkedHashMap, giriş sırasına görə silmə ilə keşiklərin həyata keçirilməsi üçün istifadə edilə bilər.
Nümunə:
Map<String, Integer> hashMap = new HashMap<>();
hashMap.put("one", 1);
hashMap.put("two", 2);
hashMap.put("three", 3);
Map<String, Integer> linkedHashMap = new LinkedHashMap<>();
linkedHashMap.put("one", 1);
linkedHashMap.put("two", 2);
linkedHashMap.put("three", 3);
System.out.println("HashMap: " + hashMap.keySet());
System.out.println("LinkedHashMap: " + linkedHashMap.keySet());
Nəticə:
HashMap: [two, one, three]
LinkedHashMap: [one, two, three]
Əgər elementlərin sırası vacibdirsə, LinkedHashMap istifadə etmək lazımdır.