Rumah  >  Artikel  >  Java  >  Java EnumMap

Java EnumMap

王林
王林asal
2024-08-30 15:47:49713semak imbas

Ahli Rangka Kerja Koleksi Java dikenali sebagai EnumMap, yang memanjangkan AbstractMap, ialah pelaksanaan khusus untuk peta antara muka, terutamanya untuk jenis penghitungan. Selain itu, beberapa ciri lain turut hadir untuk EnumMap.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Ia termasuk:

  • Ia tidak disegerakkan.
  • Lebih pantas; Berbanding dengan ini, HashMap lebih perlahan.
  • Ia disimpan dalam susunan semula jadi kunci.
  • Prestasi tinggi.
  • Kunci null tidak dibenarkan. Iaitu, NullPointerException akan dilemparkan apabila kekunci null hadir.
  • Nilai null boleh hadir.
  • Sebagai kunci, elemen enum akan digunakan.

Butiran lanjut tentang Java EnumMap akan dibincangkan dalam bahagian berikut.

Sintaks

Java EnumMap boleh diisytiharkan menggunakan sintaks di bawah.

public class EnumMap<Key extends Enum<Key>,Value> extends AbstractMap<Key,Value> implements Serializable, Cloneable

Pembina dalam Java EnumMap

Berikut ialah pembina yang biasa digunakan dalam Java EnumMap:

  • EnumMap(Kelas<K> Jenis kunci):  Peta enum kosong akan dibuat dengan keyType yang disebutkan.
  • EnumMap(EnumMap<K,? memanjang V> m): Peta enum akan dibuat dengan keyType yang sama seperti peta enum yang disebutkan jika ada pemetaan awal.
  • EnumMap(Peta<K,? meluas V>  m): Peta enum akan dibuat daripada peta yang disebut.

Kaedah dalam Java EnumMap

Sekarang, mari kita lihat beberapa kaedah Java EnumMap yang biasa digunakan.

  • clear(): Setiap pemetaan yang tersedia dalam peta akan dialih keluar apabila memanggil kaedah ini.
  • klon(): Salinan cetek akan dikembalikan untuk peta enum yang disebutkan.
  • containsKey(Objekk): True akan dikembalikan jika peta mempunyai pemetaan untuk kunci yang disebut k.
  • containsValue(Objekv): True akan dikembalikan jika peta memetakan 1 atau lebih daripada 1 kunci kepada nilai yang disebutkan v.
  • entrySet(): Paparan set akan dikembalikan untuk pemetaan yang tersedia pada peta.
  • sama dengan(Objekob): Peta dan objek ob yang disebutkan akan dibandingkan untuk kesamarataan.
  • get(Objekk): Nilai akan dikembalikan jika peta mempunyai pemetaan untuk kunci yang disebut k. Jika tiada nilai untuk kunci, null akan dikembalikan.
  • HashCode(): Hash Code akan dikembalikan untuk peta.
  • keySet(): Paparan set akan dikembalikan untuk kunci yang terdapat pada peta.
  • put(Kkunci, V nilai): Nilai v akan dikaitkan dengan kekunci K pada peta.
  • putAll(PetaK,? memanjang V>  m): Setiap dan setiap pemetaan dari peta yang diberikan akan disalin ke peta ini.
  • alih keluar(Objekk): Pemetaan akan dialih keluar untuk kunci k yang disebut.
  • size(): Jumlah pemetaan nilai kunci yang tersedia dalam peta akan dikembalikan.
  • values(): Paparan koleksi akan dikembalikan untuk nilai yang tersedia pada peta.

Contoh untuk Melaksanakan Java EnumMap

Untuk memahami lebih lanjut tentang Peta Java Enum, mari kita laksanakan kaedah yang dinyatakan di atas dalam beberapa program.

Contoh #1

Contoh program untuk mencipta peta enum dan menyalin elemen ke peta enum lain.

Kod:

import java.util.EnumMap;
class JavaEnumMapExample {
enum fruits {
APPLE, ORANGE, GRAPES, KIWI
}
public static void main(String[] args) {
// EnumMap creation of the fruits enum
EnumMap<fruits, Integer> fr = new EnumMap<>(fruits.class);
// add key-value to the mapping using the method put()
fr.put(fruits.APPLE, 2);
fr.put(fruits.ORANGE, 5);
System.out.println("The key-value pairs in EnumMap 1 is :  " + fr);
//create another enum map fru
EnumMap<fruits, Integer> fru = new EnumMap<>(fruits.class);
// copy all the elements from first enum map to this using the methodputAll()
fru.putAll(fr);
fru.put(fruits.GRAPES, 3);
System.out.println("The key-value pairs in EnumMap 2 is : " + fru);
}
}

Output:

Java EnumMap

Penjelasan kepada atur cara di atas: Dalam atur cara di atas, dua peta enum dicipta. Peta pertama dibuat dengan 2 elemen, dan peta kedua dibuat dengan menyalin elemen peta pertama. Di samping itu, elemen tambahan juga ditambah pada peta kedua. Ini dilakukan dengan bantuan kaedah put() dan putAll().

Contoh #2

Contoh program untuk mencipta peta enum dan mendapatkan kunci dan nilai secara berasingan.

Kod:

import java.util.EnumMap;
class JavaEnumMapExample {
enum fruits {
APPLE, ORANGE, GRAPES, KIWI
}
public static void main(String[] args) {
// EnumMap creation of the fruits enum
EnumMap<fruits, Integer> fr = new EnumMap<>(fruits.class);
// add key-value to the mapping using the method put()
fr.put(fruits.APPLE, 2);
fr.put(fruits.ORANGE, 5);
System.out.println("The key-value pairs in EnumMap 1 is :  " + fr);
// print all the keys in the enum map using the method keySet()
System.out.println("The keys in enum map 1 are : " + fr.keySet());
// print all the values in the enum map using the method values()
System.out.println("The values in enum map 1 are : " + fr.values());
//create another enum map fru
EnumMap<fruits, Integer> fru = new EnumMap<>(fruits.class);
// copy all the elements from first enum map to this using the methodputAll()
fru.putAll(fr);
fru.put(fruits.GRAPES, 3);
System.out.println("The key-value pairs in EnumMap 2 is : " + fru);
// print all the keys in the enum map using the method keySet()
System.out.println("The keys in enum map 2 are : " + fru.keySet());
// print all the values in the enum map using the method values()
System.out.println("The values in enum map 2 are : " + fru.values());
}
}

Output:

Java EnumMap

Explanation to the above program: Similar to the first program, two enum maps are available here. This program displays the maps’ keys and values independently using the methods keyset() and values(), respectively.

Example #3

Sample program to remove an element from the enum map

Code:

import java.util.EnumMap;
class JavaEnumMapExample {
enum fruits {
APPLE, ORANGE, GRAPES, KIWI
}
public static void main(String[] args) {
// EnumMap creation of the fruits enum
EnumMap<fruits, Integer> fr = new EnumMap<>(fruits.class);
// add key-value to the mapping using the method put()
fr.put(fruits.APPLE, 2);
fr.put(fruits.ORANGE, 5);
System.out.println("The key-value pairs in EnumMap :  " + fr);
// remove an element using the method remove()
int val = fr.remove(fruits.APPLE);
System.out.println("Removed Value: " + val);
System.out.println("The key-value pairs in EnumMap after removing apple :  " + fr);
}
}

Output:

Java EnumMap

Explanation to the above program: In this program, an element is removed from the map using the remove() method and the resultant enum map is printed in the next step.

Conclusion

A detailed explanation of all the aspects such as declaration, methods, constructors of Java EnumMap is discussed in this document in detail.

Atas ialah kandungan terperinci Java EnumMap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Hashtable di JawaArtikel seterusnya:Hashtable di Jawa