Perbezaan Antara HashMap dan TreeMap

Perbezaan Utama - HashMap vs TreeMap
 

Dalam pengaturcaraan, terdapat pelbagai mekanisme untuk mengumpulkan data. Koleksi adalah satu kaedah untuk menyimpan data. Bahasa pengaturcaraan seperti Koleksi menggunakan Java. Ia adalah rangka kerja dengan kelas dan antara muka untuk menyimpan dan memanipulasi satu set elemen data. Dalam tatasusunan biasa, terdapat bilangan elemen tetap untuk disimpan. Itulah pembatasan tatasusunan. Sebaliknya, pengaturcara boleh menggunakan koleksi. Operasi seperti memasukkan, memotong, menyusun dan mencari boleh dilakukan menggunakan koleksi. Di Jawa, antara muka Peta dimiliki oleh koleksi. Peta ini digunakan untuk mewakili data dalam kunci, pasangan nilai. Hanya ada kekunci unik, dan masing-masing mempunyai nilai yang sama. HashMap dan TreeMap adalah kelas yang melaksanakan antara muka Peta. HashMap adalah kelas koleksi berasaskan Peta yang digunakan untuk menyimpan pasangan kunci dan nilai yang tidak mengekalkan urutan tertentu dalam elemen data. TreeMap adalah kelas koleksi berasaskan Peta yang digunakan untuk menyimpan pasangan kunci dan nilai yang mengekalkan susunan elemen data. The perbezaan utama antara HashMap dan TreeMap itu HashMap tidak mengekalkan susunan tertentu dalam elemen data sementara TreeMap mengekalkan susunan elemen data.

KANDUNGAN

1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apa itu HashMap
3. Apa itu TreeMap
4. Kesamaan Antara HashMap dan TreeMap
5. Side by Side Comparison - HashMap vs TreeMap dalam Borang Tabular
6. Ringkasan

Apa itu HashMap?

HashMap adalah kelas yang menerapkan antara muka peta. Ia meluaskan kelas AbstrakMap dan melaksanakan antara muka Peta. HashMap mengandungi kunci, pasangan nilai. Setiap elemen adalah unik. Sangat mudah untuk mencari unsur-unsur dalam HashMap menggunakan kekunci. Mengisytiharkan HashMap adalah seperti berikut.

kelas awam HashMap memanjangkan AbstractMap melaksanakan Peta, Klinkable, Serializable

K merujuk kepada kunci semasa V merujuk kepada nilai yang sepadan dengan kunci khusus itu. Setiap kunci, pasangan nilai adalah kemasukan HashMap.

Rajah 01: Peta Antara Muka

Anggapkan senario seperti berikut untuk memahami HaspMap. Jika ada programmer ingin menyimpan satu set nama pelajar dan nombor indeks yang sesuai, dia boleh menggunakan HashMap. Nama pelajar digunakan untuk mencari nombor indeks. Oleh itu, nama pelajar adalah kunci manakala nombor indeks adalah nilai-nilai.

Rajah 02: Program HashMap Menggunakan Java

Menurut program di atas, objek HashMap dicipta. Kemudian programmer boleh menambah elemen menggunakan objek itu. Nilai boleh dimasukkan menggunakan kaedah yang diletakkan. Untuk mengambil nilai-nilai, programmer harus menggunakan kaedah get dengan kunci. Apabila menggunakan studentList.get ("150"); ia akan mencetak nama yang sepadan dengan indeks itu iaitu Ann. Jika pengaturcara mahu mendapatkan semua nilai, maka dia boleh menggunakan Map.Entry untuk mencetak semua kekunci dan nilai. Apabila memerhatikan output, dapat dilihat bahawa HashMap tidak mengekalkan pesanan tertentu. Ia tidak mencetak unsur-unsur dalam susunan yang dimasukkan. Unsur-unsur dicetak dalam susunan rawak.

Apa itu TreeMap?

TreeMap adalah kelas di Jawa yang melaksanakan antara muka Peta. Sama seperti HashMap, ia juga digunakan untuk menyimpan kunci, pasangan nilai tetapi dalam urutan menaik. TreeMap melaksanakan NavigableMap dan NavigableMap memanjangkan SortedMap dan SortedMap memanjangkan Peta. Setiap elemen adalah unik. Mengisytiharkan TreeMap adalah seperti berikut.

TreeMap kelas awam meluaskan AbstractMap mengimplementasikan NavigableMap, Cloneable, Serializable

K merujuk kepada kunci semasa V merujuk kepada nilai yang sepadan dengan kunci khusus itu. Setiap kunci, pasangan nilai adalah kemasukan TreeMap.

Rajah 03: Program TreeMap menggunakan Java

Menurut program di atas, objek TreeMap dicipta. Kemudian programmer boleh menambah elemen menggunakan objek itu. Nilai boleh dimasukkan menggunakan kaedah yang diletakkan. Untuk mengambil nilai-nilai, programmer harus menggunakan kaedah get dengan kunci. Apabila menggunakan studentList.get ("150"); ia akan mencetak nama yang sepadan dengan indeks itu iaitu Ann. Jika pengaturcara mahu mendapatkan semua nilai, maka dia boleh menggunakan Map.Entry untuk mencetak semua kekunci dan nilai. Apabila memerhatikan output, dapat dilihat bahawa TreeMap mengekalkan pesanan tertentu. Unsur-unsur dicetak dalam urutan menaik.

Apakah Kesamaan Antara HashMap dan TreeMap?

  • Kedua-dua HashMap dan TreeMap melaksanakan antara muka Peta.
  • Kedua-dua HashMap dan TreeMap boleh menyimpan dan memanipulasi banyak elemen.
  • Kedua-dua HashMap dan TreeMap mengandungi kunci, pasangan nilai.
  • Kedua-dua HashMap dan TreeMap boleh mempunyai banyak nilai nol.
  • Tiada batasan kepada bilangan elemen yang boleh disimpan di kedua-dua HashMap dan TreeMap.

Apakah Perbezaan Antara HashMap dan TreeMap?

HashMap vs TreeMap

A HashMap adalah kelas koleksi berasaskan Peta yang digunakan untuk menyimpan pasangan kunci dan nilai yang tidak mengekalkan urutan tertentu dalam elemen data. TreeMap adalah kelas koleksi berasaskan Peta yang digunakan untuk menyimpan pasangan kunci dan nilai yang mengekalkan urutan naik unsur data.
 Perintah
HashMap tidak mengekalkan perintah itu. TreeMap mengekalkan urutan menaik.
Null Key
The HashMap boleh mengandungi satu kekunci null. TreeMap tidak boleh mempunyai kunci null.
 Prestasi
HashMap lebih cepat daripada TreeMap. TreeMap lebih lambat daripada HashMap.

Ringkasan - HashMap vs TreeMap

Bahasa pengaturcaraan seperti Java mengandungi rangka pengumpulan. Dalam tatasusunan, terdapat bilangan tetap elemen. Oleh itu, saiz seragam hendaklah dimulakan pada mulanya. Dalam koleksi, programmer boleh menyimpan banyak unsur seperti yang diperlukan. Tiada jumlah tertentu untuk disimpan. Peta adalah antaramuka milik kerangka koleksi. HashMap adalah kelas koleksi berasaskan Peta yang digunakan untuk menyimpan pasangan kunci dan nilai yang tidak mengekalkan urutan tertentu dalam elemen data. TreeMap adalah kelas koleksi berasaskan Peta yang digunakan untuk menyimpan pasangan kunci dan nilai yang mengekalkan susunan elemen data. Artikel ini membincangkan perbezaan antara HashMap dan TreeMap yang melaksanakan antara muka Peta. Perbezaan antara HashMap dan TreeMap adalah bahawa HashMap tidak mengekalkan susunan tertentu dalam elemen data sementara TreeMap mengekalkan urutan menaik elemen data.

Rujukan:

1. "HashMap di Jawa - javatpoint." Tujuan itu, Terdapat di sini
2. "TreeMap di Jawa - javatpoint."  Tujuan itu, Terdapat di sini

Image Courtesy:

1.'Java.util.Map hierarki'By ramlmn - Kerja sendiri, (CC BY-SA 4.0) melalui Wikimedia Commons