Java-da EnumMap


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

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ı

Java-da EnumMapPin

EnumMap Konstruktorları

konstruktortə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

ÜsultəsvirParametr
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ı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 xəritədə 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

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

 

arayış

Şərh yaz

Translate »
1