Mündəricat
Java-da EnumMap
Java-da EnumMap, tətbiqetmə aparan xüsusi bir sinifdir xəritə üçün interfeys saymaq məlumat növləri. Java.util paketinə aiddir. Xəritədəki düymələr əsasında təbii çeşidləmə qaydasını saxlayır.
EnumMap xüsusiyyətləri
- Bu, enum məlumat növü elementlərinin sifarişli bir toplusudur
- Sinxronizasiya olunmayıb
- Performans HashMap-dən yüksəkdir
- Bütün düymələr Enumdakı elementlərin bir nümunəsidir məlumat növü
- Boş düymələri EnumMap sinifində saxlaya bilmirik.
- EnumMap, məlumatları daxili olaraq massiv şəklində saxlayır, beləliklə daha səmərəlidir.
Java EnumMap iyerarxiyası
EnumMap Konstruktorları
konstruktor | təsvir |
---|---|
EnumMap (Class keyType) | Göstərilən düym növü ilə bir EnumMap yaradır |
EnumMap (EnumMap m) | Enummap-da göstərilən düymələrlə EnumMap yaradır |
EnumMap (Xəritə m) | Göstərilən xəritə ilə bir EnumMap yaradın |
metodika
Üsul | təsvir | Parametr |
---|---|---|
boşluq təmiz () | Bu xəritədəki bütün uyğunlaşmaları silir, yəni xəritə boş olacaq | |
Boolean tərkibindəKey (Nesne açarı) | Göstərilən düymə üçün bir eşleme dəyəri varsa, doğru qaytarır | aç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ır | də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ır | o - 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ır | aç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ır | aç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 xəritədə heç bir açar dəyər cütü yoxdur | |
KeySet () seçin | Xə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 edir | dü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əndirir | m - 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ır | dü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 silir | aç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ə silir | dü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 edir | dü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 edir | aç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 |
Misal: EnumMap-a element əlavə edin
Aşağıda put () və putAll () metodlarından istifadə edərək Java EnumMap-a enum elementlərinin əlavə edilməsinə bir nümunə verilmişdir.
import java.util.EnumMap; enum Weight { UNDERWEIGHT, NORMAL, OVERWEIGHT } public class EnumMapDemo { public static void main(String[] args) { EnumMap<Weight, Integer> e = new EnumMap<Weight, Integer>(Weight.class); e.put(Weight.UNDERWEIGHT, 10); e.put(Weight.NORMAL, 50); System.out.println("Size of EnumMap: " + e.size()); System.out.println("Values in EnumMap" + e); EnumMap<Weight, Integer> e2 = new EnumMap<Weight, Integer>(Weight.class); e2.put(Weight.OVERWEIGHT, 100); e.putAll(e2); System.out.println("Values in EnumMap after putAll: " + e); } }
Size of EnumMap: 2 Values in EnumMap{UNDERWEIGHT=10, NORMAL=50} Values in EnumMap after putAll: {UNDERWEIGHT=10, NORMAL=50, OVERWEIGHT=100}
Misal: Elementləri dəyişdirin
Aşağıdakı nümunə, EnumMap-də əvəzləmə () metodundan istifadə edərək dəyərlərin necə dəyişdiriləcəyini göstərir.
import java.util.EnumMap; enum Weight { UNDERWEIGHT, NORMAL, OVERWEIGHT } public class EnumMapDemo { public static void main(String[] args) { EnumMap<Weight, Integer> e = new EnumMap<Weight, Integer>(Weight.class); e.put(Weight.UNDERWEIGHT, 10); e.put(Weight.NORMAL, 50); e.put(Weight.OVERWEIGHT, 80); System.out.println("Values in EnumMap" + e); e.replace(Weight.UNDERWEIGHT, 30); e.replace(Weight.NORMAL, 50, 55); System.out.println("Values after replace method: " + e); } }
Values in EnumMap{UNDERWEIGHT=10, NORMAL=50, OVERWEIGHT=80} Values after replace method: {UNDERWEIGHT=30, NORMAL=55, OVERWEIGHT=80}
Misal: Elementləri silin
Java EnumMap-dəki elementləri remove () metodundan istifadə edərək silə bilərik. Aşağıdakı nümunə müəyyən bir elementin necə silinəcəyini göstərir.
import java.util.EnumMap; enum Weight { UNDERWEIGHT, NORMAL, OVERWEIGHT } public class EnumMapDemo { public static void main(String[] args) { EnumMap<Weight, Integer> e = new EnumMap<Weight, Integer>(Weight.class); e.put(Weight.UNDERWEIGHT, 10); e.put(Weight.NORMAL, 50); e.put(Weight.OVERWEIGHT, 80); System.out.println("Values in EnumMap" + e); e.remove(Weight.NORMAL); e.remove(Weight.UNDERWEIGHT, 10); System.out.println("Values in EnumMap" + e); } }
Values in EnumMap{UNDERWEIGHT=10, NORMAL=50, OVERWEIGHT=80} Values in EnumMap{OVERWEIGHT=80}
Misal: Java EnumMap elementlərinə giriş
Aşağıda, Get metodundan istifadə edərək EnumMap-dəki məlumatlara daxil olmaq üçün bir nümunə var. Xəritənin, ehtiva edən əsas və ya ehtiva edən dəyər dəyərindən istifadə edərək müəyyən bir açar və ya dəyərin olub olmadığını da yoxlaya bilərik.
import java.util.EnumMap; enum Weight { UNDERWEIGHT, NORMAL, OVERWEIGHT } public class EnumMapDemo { public static void main(String[] args) { EnumMap<Weight, Integer> e = new EnumMap<Weight, Integer>(Weight.class); e.put(Weight.UNDERWEIGHT, 10); e.put(Weight.NORMAL, 50); e.put(Weight.OVERWEIGHT, 80); System.out.println("Values in EnumMap" + e); System.out.println(e.get(Weight.UNDERWEIGHT)); System.out.println(e.containsKey(Weight.OVERWEIGHT)); System.out.println(e.containsValue(50)); } }
Values in EnumMap{UNDERWEIGHT=10, NORMAL=50, OVERWEIGHT=80} 10 true true
Misal: EnumMap elementləri ilə təkrarlayın
Map-ə bənzər şəkildə, inputSet metodunu istifadə edərək EnumMap vasitəsilə təkrarlaya bilərik. Yalnız düymələri əldə etmək üçün keySet metodundan və yalnız dəyərləri əldə etmək üçün Koleksiyonun Dəyərlər metodundan istifadə edə bilərik.
Aşağıdakı nümunə, hər üç metoddan istifadə edərək təkrarlanmanın yollarını göstərir.
import java.util.EnumMap; enum Weight { UNDERWEIGHT, NORMAL, OVERWEIGHT } public class EnumMapDemo { public static void main(String[] args) { EnumMap<Weight, Integer> e = new EnumMap<Weight, Integer>(Weight.class); e.put(Weight.UNDERWEIGHT, 10); e.put(Weight.NORMAL, 50); e.put(Weight.OVERWEIGHT, 80); System.out.println("Values in EnumMap" + e); //Using entrySet System.out.println("Iterate using entrySet: " + e.entrySet()); //Using keySet System.out.println("Iterate using keySet:"); for(Weight str : e.keySet()) System.out.println(str); //Using Values System.out.println("Iterate using Values:"); for(Integer val: e.values()) System.out.println(val); } }
Values in EnumMap{UNDERWEIGHT=10, NORMAL=50, OVERWEIGHT=80} Iterate using entrySet: [UNDERWEIGHT=10, NORMAL=50, OVERWEIGHT=80] Iterate using keySet: UNDERWEIGHT NORMAL OVERWEIGHT Iterate using Values: 10 50 80