Java LinkedHashMap


ULASHISH

Java LinkedHashMap

LinkedHashMap kalitlar va qiymatlarni saqlaydi hamda ularni siz qo‘shgan tartibda saqlab turadi.

U java.util paketiga kiradi va Map interfeysini amalga oshiradi.

Maslahat: Elementlarni aylanib chiqish tartibi oldindan ma’lum bo‘lishini (qo‘shilish tartibi) istasangiz, LinkedHashMap sinfidan foydalaning.


LinkedHashMap yaratish

String kalitlar va String qiymatlarni saqlaydigan capitalCities nomli LinkedHashMap obyektini yarating:

Misol

import java.util.LinkedHashMap; // Import the LinkedHashMap class

LinkedHashMap<String, String> capitalCities = new LinkedHashMap<>();

Endi kalit/qiymat juftliklarini qo‘shish uchun put(), qiymatni kalit bo‘yicha olish uchun get() va yozuvni o‘chirish uchun remove() kabi metodlardan foydalanishingiz mumkin — bunda qo‘shilish tartibi doimo saqlanib qoladi.


Elementlar qo‘shish

LinkedHashMap obyektiga elementlar qo‘shish uchun put() metodidan foydalaning:

Misol

// Import the LinkedHashMap class
import java.util.LinkedHashMap;

public class Main {
  public static void main(String[] args) {
    LinkedHashMap<String, String> capitalCities = new LinkedHashMap<>();

    capitalCities.put("England", "London");
    capitalCities.put("India", "New Dehli");
    capitalCities.put("Austria", "Wien");
    capitalCities.put("Norway", "Oslo");
    capitalCities.put("Norway", "Oslo"); // Duplicate
    capitalCities.put("USA", "Washington DC");

    System.out.println(capitalCities);
  }
}

O‘zingiz sinab ko‘ring »

Natija: Elementlar qo‘shilgan tartibda chiqadi (masalan, {England=London, India=New Dehli, Austria=Wien, Norway=Oslo, USA=Washington DC}).

Eslatma: "Norway" kabi takroriy elementlar e’tiborga olinmaydi.



Elementga murojaat qilish

Kalitga bog‘langan qiymatni olish uchun get() metodini kalit bilan birga ishlating:

Misol

capitalCities.get("England");

O‘zingiz sinab ko‘ring »


Elementni o‘chirish

Elementni kalit bo‘yicha o‘chirish uchun remove() metodidan foydalaning:

Misol

capitalCities.remove("England");

O‘zingiz sinab ko‘ring »

Barcha elementlarni o‘chirish uchun clear() metodidan foydalaning:

Misol

capitalCities.clear();

O‘zingiz sinab ko‘ring »


LinkedHashMap o‘lchami

Map’da nechta kalit/qiymat juftligi borligini tekshirish uchun size() metodidan foydalaning:

Misol

capitalCities.size();

O‘zingiz sinab ko‘ring »

Eslatma: O‘lcham faqat noyob kalitlarni hisobga oladi. Agar kalit bir necha marta qo‘shilsa, faqat eng oxirgi qiymat saqlanib qoladi.


LinkedHashMap bo‘ylab sikl

LinkedHashMap bo‘ylab for-each sikli yordamida aylanib chiqishingiz mumkin. Quyidagilardan foydalaning:

  • keySet() — barcha kalitlarni olish uchun
  • values() — barcha qiymatlarni olish uchun

Misol

// Print keys
for (String key : capitalCities.keySet()) {
  System.out.println(key);
}

O‘zingiz sinab ko‘ring »

Misol

// Print values
for (String value : capitalCities.values()) {
  System.out.println(value);
}

O‘zingiz sinab ko‘ring »

Misol

// Print keys and values
for (String key : capitalCities.keySet()) {
  System.out.println("Key: " + key + ", Value: " + capitalCities.get(key));
}

O‘zingiz sinab ko‘ring »


HashMap va LinkedHashMap

Xususiyat HashMap LinkedHashMap
Tartib Tartib kafolatlanmaydi Qo‘shilish tartibi saqlanadi
Unumdorlik Tasodifiy murojaatda tezroq Tartibni saqlash tufayli biroz sekinroq
Takroriy elementlar Kalitlar noyob bo‘lishi shart Kalitlar noyob bo‘lishi shart

Maslahat: Map yozuvlar qo‘shilgan tartibni eslab qolishini istasangiz, LinkedHashMap sinfidan foydalaning.


var kalit so‘zi

Java 10 dan boshlab tipni ikki marta yozmasdan LinkedHashMap o‘zgaruvchisini e’lon qilish uchun var kalit so‘zidan foydalanishingiz mumkin. Kompilyator tipni siz beradigan qiymatdan aniqlaydi.

Bu kodni qisqartiradi, ammo ko‘plab dasturchilar aniqlik uchun baribir to‘liq tipdan foydalanadi. var Java tilida to‘g‘ri sintaksis bo‘lgani uchun uni boshqa kodlarda uchratishingiz mumkin, shuning uchun uning mavjudligini bilib qo‘ygan ma’qul:

Misol

// Without var
LinkedHashMap<String, String> capitalCities = new LinkedHashMap<String, String>();

// With var
var capitalCities = new LinkedHashMap<String, String>();

O‘zingiz sinab ko‘ring »


Map interfeysi

Eslatma: Ba’zan Java kodida Map va LinkedHashMap’ni birga ko‘rasiz, masalan:

import java.util.Map;
import java.util.LinkedHashMap;

Map<String, String> capitalCities = new LinkedHashMap<>();

O‘zingiz sinab ko‘ring »

Bu shuni anglatadiki, o‘zgaruvchi (capitalCities) Map (interfeys) sifatida e’lon qilingan, lekin u LinkedHashMap obyektini (aslida ishlatiladigan Map’ni) saqlaydi. LinkedHashMap sinfi Map interfeysini amalga oshirgani (implements) uchun bunday qilish mumkin.

U xuddi shunday ishlaydi, ammo ba’zi dasturchilar bu uslubni afzal ko‘radi, chunki u keyinchalik tipni o‘zgartirish uchun ko‘proq moslashuvchanlik beradi.



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!