CodeGym /Java Blog /Acak /Cara mengulangi Peta di Jawa
John Squirrels
Level 41
San Francisco

Cara mengulangi Peta di Jawa

Dipublikasikan di grup Acak
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.
  1. Metode ForEach Loop
  2. 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!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION