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.
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:
-
EnumMap(Class
keyType) EnumMap<HariDalamMinggu, String> aktivitas = new EnumMap<>(HariDalamMinggu.class);
Ini membuat EnumMap kosong dengan jenis enum yang ditentukan.
-
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).
-
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