Panduan pemula tentang Kelas EnumMap di Java

Pengantar

Halo para pemrogram Java masa depan! Hari ini, kita akan memulai perjalanan yang menarik ke dunia kelas EnumMap di Java. Saya tahu apa yang mungkin Anda pikirkan: "EnumMap? itu terlihat rumit!" Tetapi jangan khawatir! Pada akhir tutorial ini, Anda akan menggunakan EnumMap seperti seorang profesional, dan Anda mungkin bahkan akan merasakan kesenangan saat mempelajarinya.

Java - EnumMap

Ayo kita mulai dengan analogi sederhana. Bayangkan Anda memiliki rak khusus untuk setiap hari dalam seminggu untuk mengatur kaos Anda. Itulah yang sebenarnya adalah EnumMap - sebuah cara untuk mengatur data menggunakan konstanta enum sebagai kunci. Keren, kan? Mari kita masuk ke dalamnya!

Deklarasi Kelas

Pertama-tama, mari kita lihat bagaimana kita mendeklarasikan EnumMap:

import java.util.EnumMap;

enum HariDalamMinggu { SENIN, SELASA, RABU, KAMIS, JUMAT, SABTU, MINGGU }

EnumMap<HariDalamMinggu, String> aktivitas = new EnumMap<>(HariDalamMinggu.class);

Dalam contoh ini, kita membuat EnumMap yang menggunakan enum HariDalamMinggu kita sebagai kunci dan nilai String untuk menyimpan aktivitas. Bagian HariDalamMinggu.class memberitahu Java bahwa enum mana yang kita gunakan untuk kunci kita.

Konstruktor Kelas

EnumMap memiliki tiga konstruktor. Mari kita lihat masing-masing:

  1. EnumMap(Class keyType)

    EnumMap<HariDalamMinggu, String> aktivitas = new EnumMap<>(HariDalamMinggu.class);

    Ini membuat EnumMap kosong dengan jenis enum yang ditentukan.

  2. EnumMap(EnumMap<K,? extends V> m)

    EnumMap<HariDalamMinggu, String> aktivitasSalinan = new EnumMap<>(aktivitas);

    Ini membuat EnumMap dengan jenis kunci yang sama seperti EnumMap yang ditentukan dan menginisialisasikannya dengan pemetaan yang sama (jika ada).

  3. EnumMap(Map<K,? extends V> m)

    Map<HariDalamMinggu, String> petaReguler = new HashMap<>();
    petaReguler.put(HariDalamMinggu.SENIN, "Gym");
    EnumMap<HariDalamMinggu, String> aktivitasDariPeta = new EnumMap<>(petaReguler);

    Ini membuat EnumMap yang diinisialisasi dari peta reguler.

Metode Kelas

Sekarang, mari kita lihat beberapa metode yang paling sering digunakan di EnumMap:

Metode Deskripsi
put(K key, V value) Mengasosiasikan nilai yang ditentukan dengan kunci yang ditentukan
get(Object key) Mengembalikan nilai yang diasosiasikan dengan kunci yang ditentukan
remove(Object key) Menghapus pemetaan untuk kunci ini jika ada
size() Mengembalikan jumlah pemetaan kunci-nilai
clear() Menghapus semua pemetaan dari peta ini
containsKey(Object key) Mengembalikan true jika peta ini berisi pemetaan untuk kunci yang ditentukan
containsValue(Object value) Mengembalikan true jika peta ini memetakan satu atau lebih kunci ke nilai yang ditentukan

Mari kita lihat metode ini dalam aksi:

EnumMap<HariDalamMinggu, String> aktivitas = new EnumMap<>(HariDalamMinggu.class);

// Menambah pasangan kunci-nilai
aktivitas.put(HariDalamMinggu.SENIN, "Gym");
aktivitas.put(HariDalamMinggu.SELASA, "Bioskop");

// Mendapatkan nilai
String aktivitasSenin = aktivitas.get(HariDalamMinggu.SENIN);
System.out.println("Aktivitas Senin: " + aktivitasSenin);

// Memeriksa jika kunci ada
boolean memilikiRabu = aktivitas.containsKey(HariDalamMinggu.RABU);
System.out.println("Punya Rabu: " + memilikiRabu);

// Menghapus pasangan kunci-nilai
aktivitas.remove(HariDalamMinggu.SELASA);

// Mendapatkan ukuran
int ukuran = aktivitas.size();
System.out.println("Jumlah aktivitas: " + ukuran);

// Membersihkan peta
aktivitas.clear();

Dalam contoh ini, kita menambahkan aktivitas untuk hari berbeda, mengambil nilai, memeriksa kunci, menghapus entri, dan akhirnya membersihkan seluruh peta. Itu seperti mengatur dan mengatur ulang rak kaos kita!

Metode yang Diketurankan

EnumMap mengikuti metode dari kelas induknya. Berikut adalah beberapa yang berguna:

Metode Diturunkan Dari Deskripsi
clone() AbstractMap Membuat salinan dangkal dari peta ini
equals(Object o) AbstractMap Membandingkan objek yang ditentukan dengan peta ini untuk kesamaan
hashCode() AbstractMap Mengembalikan nilai hash code untuk peta ini
toString() AbstractMap Mengembalikan representasi string dari peta ini

Contoh Menambah Pasangan Kunci-Nilai ke EnumMap Enum, Integer

Sekarang, mari kita coba yang sedikit lebih kompleks. Kita akan membuat EnumMap yang menggunakan enum sebagai kunci dan integer sebagai nilai:

enum Buah { APLIKASI, MANGGA, PISANG, JERUK }

EnumMap<Buah, Integer> hargaBuah = new EnumMap<>(Buah.class);

// Menambah pasangan kunci-nilai
hargaBuah.put(Buah.APLIKASI, 100);
hargaBuah.put(Buah.MANGGA, 150);
hargaBuah.put(Buah.PISANG, 80);
hargaBuah.put(Buah.JERUK, 120);

// Mencetak EnumMap
System.out.println("Harga Buah: " + hargaBuah);

// Memperbarui nilai
hargaBuah.put(Buah.PISANG, 90);

// Mendapatkan nilai tertentu
int hargaApel = hargaBuah.get(Buah.APLIKASI);
System.out.println("Harga Apel: " + hargaApel);

// Mengulangi(EnumMap
for (Map.Entry<Buah, Integer> entry : hargaBuah.entrySet()) {
System.out.println(entry.getKey() + ": Rp" + entry.getValue());
}

Dalam contoh ini, kita membuat daftar harga buah. Kita menambahkan harga untuk buah yang berbeda, memperbarui harga pisang, mengambil harga apel, dan kemudian mengulangi seluruh peta untuk mencetak semua harga buah.

Dan itu tadi! Anda baru saja belajar dasar-dasar kelas EnumMap di Java. Ingat, praktek membuat perfect, jadi jangan takut untuk bereksperimen dengan konsep ini. Siapa tahu? Anda mungkin saja menemukan diri Anda mengatur keseluruhan hidup Anda dengan EnumMaps! (Cuma bercanda, tapi mereka benar-benar berguna.)

Selamat coding, dan semoga EnumMap Anda selalu teratur dengan baik!

Credits: Image by storyset