Java-da LinkedHashMap


Java Java xəritəsiBaxılıb 37

Java-da LinkedHashMap sinifi a-ya bənzər bir LinkedList tətbiqidir HashMap ancaq yerləşdirmə qaydasını qoruyur. HashMap sinifini genişləndirir və Xəritə interfeysini tətbiq edir. LinkedHashMapdakı bütün qovşaqlarda təkrarlamaq üçün ikiqat LinkedList tətbiqetməsindən istifadə edir.

LinkedHashMap xüsusiyyətləri

  • Elementləri daxil etdiyi qaydada giriş qaydalarını qoruyur.
  • LinkedHashMap yalnız unikal məlumatlardan ibarət ola bilər
  • Yalnız bir sıfır düyməyə, lakin birdən çox boş qiymətə sahib ola bilər.

LinkedHashMap-da inşaatçılar

Aşağıda LinkedHashMap sinfində olan konstruktorlar var.

konstruktortəsvir
LinkedHashMap ()Varsayılan bir LinkedHashMap başlatır
LinkedHashMap (Xəritə m)LinkedHashmap-i Map m elementləri ilə başlatır
LinkedHashMap (int tutumu)Linkedhashmap-i göstərilən tutum tam ədədi ilə başlatır
LinkedHashMap (int tutumu, şamandıra yükləmə faktoru)Müəyyən edilmiş tutum və yük faktoru ilə Linkedhashmap-i başlatır
LinkedHashMap (int tutumu, float loadFactor, boolean accessOrder)Müəyyən edilmiş tutum və yük əmsalı ilə LinkedhashMap-i giriş qaydası rejimi ilə birlikdə başlatır

Java-da LinkedHashMap metodları

ÜsultəsvirParametr
boşluq təmiz ()Bu xəritədəki bütün uyğunlaşmaları silir, yəni xəritə boş olacaq
Obyekt klonu ()Bu HashMap nümunəsinin dayaz bir nüsxəsini qaytarır. Əsas və dəyərlərin özləri klonlaşdırılmır
Boolean tərkibindəKey (Nesne açarı)Göstərilən düymə üçün bir eşleme dəyəri varsa, doğru qaytarıraçar - dəyəri almalı olduğumuz açar
BooleanValue ehtiva edir (Nesne dəyəri)Göstərilən dəyər üçün düymənin uyğunlaşdırılması varsa, doğru qayıdırdəyər - göstərilən açarın eşlendiği dəyər
Dəst girişSet ()Xəritənin uyğunlaşdırılmasının müəyyən bir görünüşünü qaytarır
Mantiq bərabərdir (O ​​obyekt)Obyekt xəritənin eyni xəritələməsinə sahibdirsə, doğru qayıdıro - müqayisə ediləcək obyekt
Tamsayı almaq (obyekt açarı)Xəritədə göstərilən açarın dəyərini qaytarır. Xəritəçəkmə yoxdursa sıfır qaytarıraçar - dəyər eşlemesinin alınması lazım olan açar
Tamsayı getOrDefault (Nəzarət açarı, Tamsayılan dəyər)Eşlenmişse göstərilən açarın dəyərini qaytarır, başqa bir eşleme olmadığı təqdirdə default dəyəri qaytarıraçar - dəyər verdiyimiz düymənin qaytarılması lazımdır
defaultvalue - Xəritəçəkmə olmadıqda qaytarılacaq default dəyər
int hashCode ()Xəritənin hashcod dəyərini qaytarır
Boole isEmpty ()Doğru qayıdır, hashmapin heç bir açar dəyər cütü yoxdur
KeySet () seçinXəritədə mövcud olan düymələrin müəyyən görünüşünü qaytarır
Tamsayı qoymaq (String açarı, int dəyəri)Açarı dəyərlə əlaqələndirir. Açar artıq mövcuddursa, köhnə dəyəri yeni dəyərlə əvəz edirdüymə - Xəritəçəkmə üçün açar
dəyər - göstərilən açar üçün dəyər
boşluqHamısı (Xəritə m)M-nin bütün əsas dəyər dəyərlərini cari xəritə ilə əlaqələndirirm - cari xəritəyə əlavə ediləcək Xəritəçəkmə nüsxələri
Tamsayı putIfAbsent (Simli düymə, Tam dəyər)Zaten eşlenmemişse dəyəri əlaqələndirir, başqa bir düyməyə cari dəyəri qaytarırdüymə - Xəritəçəkmə üçün açar
dəyər - əlaqələndiriləcək dəyər
Tamsayı silin (Nişan açarı)Xəritədə göstərilən açar üçün xəritəni siliraçar - Xəritəçəkmənin silinməsi lazım olan xəritədəki açar
Mantiqi silmək (Nesne açarı, Nesne dəyəri)Göstərilən açarın girişini yalnız göstərilən dəyərlə uyğunlaşdırıldığı təqdirdə silirdüymə - xəritədəki açar
dəyər - düyməyə uyğun dəyər
Tamsayı əvəz (Sətir açarı, Tamsayı dəyəri)Göstərilən açarın dəyərini yalnız indiki vaxtda bəzi dəyərlərlə uyğunlaşdırıldığı təqdirdə dəyəri ilə əvəz edirdüymə - xəritədəki açar
dəyər - dəyişdiriləcək dəyər
Boolean əvəzetmə (String açarı, integer oldvalue, Integer newvalue)Göstərilən açarın girişini yalnız əvvəlcədən göstərilən köhnə dəyərlə uyğunlaşdırıldığı təqdirdə yeni dəyərlə əvəz ediraçar - xəritədəki açar
oldvalue - köhnə dəyər açarla eşlendi
newvalue - yeni dəyər açara uyğunlaşdırılmalıdır
int ölçüsü ()Xəritənin ölçüsünü qaytarır
String toString ()Xəritənin bir simli təsvirini qaytarır
Kolleksiya dəyərləri ()Xəritədəki dəyərlərin kolleksiya görünüşünü qaytarır

LinkedHashMap-in Java-da işləməsi

Java-da LinkedHashMap, ikiqat əlaqəli tətbiqetmə üzərində işləyir siyahı yəni növbəti elementin və əvvəlki elementin ünvanlarını ehtiva edir. Bu şəkildə əlavə qaydasını da qoruyur.

Aşağıdakı diaqramda prev əvvəlki elementin ünvanını, sonrakı isə növbəti elementin ünvanını göstərir.

Java-da LinkedHashMap

Misal: LinkedHashMap-ə element əlavə etmək

Aşağıda LinkedHashMap-ə element əlavə etmək nümunəsi verilmişdir. Daxil etmə qaydasını qoruduğunu və elementləri daxil etdiyimiz qaydada göstərdiyini görə bilərik. Ancaq bu funksionallıq əsas fərq olan HashMap-də mövcud deyil.

import java.util.LinkedHashMap;

public class AddElements {

  public static void main(String[] args) {
    LinkedHashMap<Integer,String> lh = new LinkedHashMap<Integer,String>();
    lh.put(1, "Aarthi");
    lh.put(2, "Bahrathi");
    lh.put(3, "Chandini");
    
    System.out.println("Elements in the LinkedHashMap: " + lh);
    
    LinkedHashMap<Integer,String> lhm = new LinkedHashMap<Integer,String>();
    lhm.put(4, "Devi");
    lhm.put(5, "Fathima");
    
    lh.putAll(lhm);
    
    System.out.println("Elements in the LinkedHashMap after adding Map elements: " + lh);
    

  }

}
Elements in the LinkedHashMap: {1=Aarthi, 2=Bahrathi, 3=Chandini}
Elements in the LinkedHashMap after adding Map elements: {1=Aarthi, 2=Bahrathi, 3=Chandini, 4=Devi, 5=Fathima}

Nümunə: LinkedHashMap-də elementləri yeniləyin

Istifadə put() üsul, mövcud olduqda mövcud açarın dəyərini əvəz edə bilərik. Aşağıdakı nümunədə “2” düyməsini əvəz edirik. Bu açar artıq mövcud olduğundan köhnə dəyəri yeni dəyərlə əvəz edəcək, əks halda yeni bir element olaraq əlavə edəcəkdir.

import java.util.LinkedHashMap;

public class AddElements {

  public static void main(String[] args) {
    LinkedHashMap<Integer,String> lh = new LinkedHashMap<Integer,String>();
    lh.put(1, "Aarthi");
    lh.put(2, "Bharathi");
    lh.put(3, "Chandini");
    
    System.out.println("Elements in the LinkedHashMap: " + lh);
    
    //Update value
    lh.put(2, "Sarika");
    
    System.out.println("Elements in the LinkedHashMap after updating the second element: " + lh);
    

  }

}
Elements in the LinkedHashMap: {1=Aarthi, 2=Bharathi, 3=Chandini}
Elements in the LinkedHashMap after updating the second element: {1=Aarthi, 2=Sarika, 3=Chandini}

Dəyərlərini də istifadə edərək yeniləyə bilərik replace() metodu.

import java.util.LinkedHashMap;

public class AddElements {

  public static void main(String[] args) {
    LinkedHashMap<Integer,String> lh = new LinkedHashMap<Integer,String>();
    lh.put(1, "Aarthi");
    lh.put(2, "Bharathi");
    lh.put(3, "Chandini");
    
    System.out.println("Elements in the LinkedHashMap: " + lh);
    
    lh.replace(3, "Chandru");
    lh.replace(1, "Aarthi", "Akash");
    
    System.out.println("Elements in the LinkedHashMap after using the replace method: " + lh);
    

  }

}
Elements in the LinkedHashMap: {1=Aarthi, 2=Bharathi, 3=Chandini}
Elements in the LinkedHashMap after using the replace method: {1=Akash, 2=Bharathi, 3=Chandru}

Nümunə: Java-da LinkedHashMap-dən elementləri silin

Elementləri Java-da LinkedHashMap-dən silə və ya silə bilərik remove() üsul. LinkedHashMapdakı bütün elementləri silmək üçün clear() metod. Xəritə istifadə edərək xəritənin boş olub olmadığını yoxlaya bilərik isEmpty() metodu.

import java.util.LinkedHashMap;

public class RemoveElements {

  public static void main(String[] args) {
    LinkedHashMap<Integer,String> lh = new LinkedHashMap<Integer,String>();
    lh.put(1, "Aarthi");
    lh.put(2, "Bahrathi");
    lh.put(3, "Chandini");
    
    System.out.println("Elements in the LinkedHashMap: " + lh);
    
    lh.remove(2);
    System.out.println("Elements in the LinkedHashMap after removing the 2nd element: " + lh);
    
    lh.remove(1, "Aarthi");
    System.out.println("Elements in the LinkedHashMap after removing the 1st element: " + lh);
    
    lh.clear();
    System.out.println("Is LinkedHashMap empty: " + lh.isEmpty());

  }

}
Elements in the LinkedHashMap: {1=Aarthi, 2=Bahrathi, 3=Chandini}
Elements in the LinkedHashMap after removing the 2nd element: {1=Aarthi, 3=Chandini}
Elements in the LinkedHashMap after removing the 1st element: {3=Chandini}
Is LinkedHashMap empty: true

Nümunə: Java-da LinkedHashMap elementləri ilə təkrarlayın

Bütün elementləri LinkedHashMap-dən açar dəyər cütləri şəklində almaq üçün entrySet() metod. Map.Entry nümunəsini istifadə edərək, əsas məlumatları fərdi olaraq əldə edə bilərik getKey() və istifadə edərək dəyər getValue() metodu.

İstifadə edərək bütün əsas məlumatları xəritədən götürə bilərik keySet() metodu və bütün dəyərləri values() metodu.

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

public class IterateLinkedHashMap {

  public static void main(String[] args) {
    LinkedHashMap<Integer,String> lh = new LinkedHashMap<Integer,String>();
    lh.put(1, "Aarthi");
    lh.put(2, "Bharathi");
    lh.put(3, "Chandini");
    
    System.out.println("Iterate using EntrySet method: ");
    for(Map.Entry<Integer, String> m : lh.entrySet()) {
      System.out.println(m.getKey() + " : " + m.getValue());
    }
    
    System.out.println("Iterate using the KeySet method: ");
    for(Integer s : lh.keySet()) {
      System.out.println(s);
    }
    
    System.out.println("Iterate using the Collection values method: ");
    for(String val : lh.values()) {
      System.out.println(val);
    }
      
      

  }

}
Iterate using EntrySet method: 
1 : Aarthi
2 : Bharathi
3 : Chandini
Iterate using the KeySet method: 
1
2
3
Iterate using the Collection values method: 
Aarthi
Bharathi
Chandini

Nümunə: Düyməni əsas götürərək dəyərləri əldə edin

Aşağıda istifadə edərək müəyyən bir əsas dəyəri götürmək nümunəsidir get() metod. Xüsusiyyətli bir düyməni istifadə edərək mövcud deyilsə, standart dəyəri yazdırırıq getOrDefault() metodu.

Xəritədə müəyyən bir açar və ya dəyəri olub olmadığını yoxlaya bilərik containsKey() or containsValue() metodu.

import java.util.LinkedHashMap;

public class RetrieveData {

  public static void main(String[] args) {
    LinkedHashMap<Integer,String> lh = new LinkedHashMap<Integer,String>();
    lh.put(1, "Aarthi");
    lh.put(2, "Bharathi");
    lh.put(3, "Chandini");
    
    System.out.println("Value of Key 2: " + lh.get(2));
    System.out.println("Value of Key 3 if present: " + lh.getOrDefault(3, "Test"));
    System.out.println("Value of key when not present: " + lh.getOrDefault(4, "Test"));
    
    System.out.println("Does key 1 exist: " + lh.containsKey(1));
    System.out.println("Does value exist: " + lh.containsValue("Chandini"));
    System.out.println("Doe key 4 exist: " + lh.containsKey(4));
    System.out.println("Does value exist: " + lh.containsValue("Test"));
    

  }

}
Value of Key 2: Bharathi
Value of Key 3 if present: Chandini
Value of key when not present: Test
Does key 1 exist: true
Does value exist: true
Doe key 4 exist: false
Does value exist: false

arayış

Şərh yaz

Translate »
1