Dalam posting ini, kita akan mempelajari berbagai cara untuk mengulang Peta di Jawa. Beberapa cara umum dan cara menggunakannya dengan bantuan contoh. Sebelum memulai, kami menganggap Anda memahami
antarmuka dan
peta di Java. Namun, inilah rekap cepat untuk Anda.
Apa itu Peta di Jawa?
Ada banyak interpretasi tentang ini, tapi mari kita begini saja.
“Peta adalah antarmuka di Java, yang digunakan untuk menyimpan data dalam bentuk pasangan kunci-nilai.”
Jika Anda memikirkan untuk apa peta digunakan? Atau kapan mereka dibutuhkan? Lalu ada banyak situasi dalam kehidupan nyata ketika kita perlu menyimpan data dalam key-value pair. Misalnya, semua kata yang bersesuaian dengan satu huruf dalam kamus dapat disimpan dalam bentuk peta di Jawa.
K |
Layang-layang, Raja, Korea, Ksatria,..., dll. |
L |
Lava, Kehidupan, Cahaya, Cinta, Lebanon,..., dll. |
Selain itu, Anda dapat melihat contoh berikut untuk memahami ini dengan lebih baik.
Kunci |
Nilai |
ID Keluarga |
Anggota keluarga |
Nama kelas |
ID siswa |
Nama Daerah |
Kode Pos |
Blok Daerah |
Nomor Rumah |
Mengapa kita perlu melakukan iterasi melalui Peta?
Kita perlu melintasi atau mengulangi peta untuk mengakses, mengubah, atau menghapus data. Mari jelajahi beberapa opsi yang kita miliki.
Apa sajakah cara umum untuk mengulangi Peta di Jawa?
Padahal ada banyak cara untuk melintasi peta. Namun, kami akan fokus pada cara yang paling efisien dan sederhana.
- Metode ForEach Loop
- Metode Iterator
Silakan temukan penerapan kedua metode di bawah ini.
Menggunakan metode Foreach Loop
Contoh
import java.util.Map;
import java.util.HashMap;
public class ForEachDemo {
public static void main(String[] args) {
Map<String, String> businessDays = new HashMap<String, String>();
// store business days i-e; key/value pairs in the Map
businessDays.put("1", "Monday");
businessDays.put("2", "Tuesday");
businessDays.put("3", "Wednesday");
businessDays.put("4", "Thursday");
businessDays.put("5", "Friday");
// Iterating over the Map.entrySet() using map.forEach
for (Map.Entry<String, String> entry : businessDays.entrySet())
{
System.out.println("key = " + entry.getKey() + ", value = " + entry.getValue());
}
}
}
Keluaran
kunci = 1, nilai = Senin kunci = 2, nilai = Selasa kunci = 3, nilai = Rabu kunci = 4, nilai = Kamis kunci = 5, nilai = Jumat
Penjelasan
Dalam contoh ini kami menggunakan foreach loop untuk mengulang peta. Dengan menggunakan for-each loop, kita mendapatkan
entrySet() yang menyediakan "tampilan" otomatis dari data di peta, dalam bentuk key-value pair. Setiap entrySet berisi kunci dan nilai yang sesuai. Di mana Anda dapat menggunakan semua metode
Map.Entry<key, value> sesuai kebutuhan Anda. Di sini, kami hanya menggunakan
getKey() dan
getValue() untuk menampilkan data di konsol. Sebagai latihan, Anda dapat menjelajahi metode lainnya untuk memperkuat perintah Anda pada konsep ini.
Menggunakan metode Iterator
Contoh
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class MapIterator {
public static void main(String[] args) {
Map<String, String> monthsInAYear = new HashMap<String, String>();
// store business days i-e; key/value pairs in the Map
monthsInAYear.put("1", "January");
monthsInAYear.put("2", "February");
monthsInAYear.put("3", "March");
monthsInAYear.put("4", "April");
monthsInAYear.put("5", "May");
monthsInAYear.put("6", "June");
monthsInAYear.put("7", "July");
monthsInAYear.put("8", "August");
monthsInAYear.put("9", "September");
monthsInAYear.put("10", "October");
monthsInAYear.put("11", "November");
monthsInAYear.put("12", "December");
// iterate map / traverse the map using using iterator
Iterator<Map.Entry<String, String>> iterator = monthsInAYear.entrySet().iterator();
while (iterator.hasNext())
{
// check if next entry exists in the map
Map.Entry<String, String> entry = iterator.next();
System.out.println("key = " + entry.getKey() + ", value = " + entry.getValue());
}
}
}
Keluaran
kunci = 11, nilai = November kunci = 1, nilai = Januari kunci = 12, nilai = Desember kunci = 2, nilai = Februari kunci = 3, nilai = Maret kunci = 4, nilai = April kunci = 5, nilai = kunci Mei = 6, nilai = Juni kunci = 7, nilai = Juli kunci = 8, nilai = Agustus kunci = 9, nilai = September kunci = 10, nilai = Oktober
Penjelasan
Dalam contoh ini, kami membuat iterator eksplisit untuk melintasi / mengulang peta. Pertama, Anda perlu mengimpor kelas iterator, lalu mendapatkan iterator untuk entrySet. Sekarang jelajahi peta sambil tetap memeriksa entitas berikutnya yang ada di peta. Ini dia! Traversal Anda selesai, begitu saja.
Apakah Foreach loop lebih baik daripada metode iterators?
Tidak masalah metode mana yang Anda gunakan untuk melintasi peta selama metode itu berhasil untuk Anda.
Dalam hal kinerja, baik untuk setiap loop dan iterator memiliki kompleksitas waktu yang sama . Jadi tidak ada yang lebih baik dari yang lain, tergantung pada apa yang perlu Anda gunakan dan kapan.
Apa perbedaan antara kedua metode tersebut?
Untuk setiap loop tidak memungkinkan untuk memperbarui/memodifikasi data di peta. Sebaliknya, Anda dapat dengan mudah memodifikasi data menggunakan iterator. Kelas iterators memfasilitasi Anda dengan menyediakan implementasi untuk mengedit/menghapus data di peta.
Sebaliknya, jika Anda mencoba mengedit/menghapus data peta menggunakan for-each loop, ConcurrentModificationException akan muncul . Alasannya adalah karena for-each loop secara implisit membuat iterator, yang tidak diekspos ke pengguna. Karenanya, Anda tidak memiliki akses untuk mengubah atau menghapus data apa pun.
Metode traversal mana yang digunakan dan kapan?
Jika Anda tidak yakin apakah akan menggunakan for-each atau iterator untuk mengulang peta Anda, maka Anda dapat mengambil saran berikut.
- Gunakan iterator jika Anda harus memodifikasi peta.
- Gunakan for-each loop jika Anda memiliki loop bersarang (untuk menghindari kerumitan).
Kesimpulan
Di akhir postingan, kami harap Anda telah mempelajari cara mengulang peta di Jawa. Anda didorong untuk mempraktikkan ini dan mencoba metode traversal lainnya juga. Jangan ragu untuk melompat kembali atau memposting pertanyaan kapan pun Anda merasa mandek. Sampai saat itu, selamat belajar!
GO TO FULL VERSION