Perbezaan Antara HashMap dan TreeMap

Isi kandungan:

Perbezaan Antara HashMap dan TreeMap
Perbezaan Antara HashMap dan TreeMap

Video: Perbezaan Antara HashMap dan TreeMap

Video: Perbezaan Antara HashMap dan TreeMap
Video: Разница между HashMap и TreeMap Java собеседование 2024, Julai
Anonim

Perbezaan Utama – HashMap lwn TreeMap

Dalam pengaturcaraan, terdapat pelbagai mekanisme untuk mengumpul data. Koleksi adalah salah satu kaedah untuk menyimpan data. Bahasa pengaturcaraan seperti Java menggunakan Collections. 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. Itu adalah had tatasusunan. Sebaliknya, pengaturcara boleh menggunakan koleksi. Operasi seperti memasukkan, memadam, menyusun dan mencari boleh dilakukan menggunakan koleksi. Di Java, antara muka Peta tergolong dalam koleksi. Peta digunakan untuk mewakili data dalam kunci, pasangan nilai. Terdapat hanya kunci unik, dan setiap satu mempunyai nilai yang sepadan. HashMap dan TreeMap ialah kelas yang melaksanakan antara muka Peta. HashMap ialah kelas pengumpulan berasaskan Peta yang digunakan untuk menyimpan pasangan kunci dan nilai yang tidak mengekalkan susunan tertentu dalam elemen data. TreeMap ialah kelas pengumpulan berasaskan Peta yang digunakan untuk menyimpan pasangan kunci dan nilai yang mengekalkan tertib menaik bagi elemen data. Perbezaan utama antara HashMap dan TreeMap ialah HashMap tidak mengekalkan susunan tertentu dalam elemen data manakala TreeMap mengekalkan tertib menaik bagi elemen data.

Apakah itu HashMap?

HashMap ialah kelas yang melaksanakan antara muka peta. Ia memanjangkan kelas AbstractMap dan melaksanakan antara muka Peta. HashMap mengandungi kunci, pasangan nilai. Setiap elemen adalah unik. Mudah untuk mencari elemen dalam HashMap menggunakan kekunci. Mengisytiharkan HashMap adalah seperti berikut.

kelas awam HashMap meluaskan AbstractMap melaksanakan Map, Cloneable, Serializable

K merujuk kekunci manakala V merujuk kepada nilai yang sepadan dengan kunci khusus tersebut. Setiap kunci, pasangan nilai ialah entri HashMap.

Perbezaan Antara HashMap dan TreeMap
Perbezaan Antara HashMap dan TreeMap

Rajah 01: Antara Muka Peta

Anggapkan senario seperti berikut untuk memahami HaspMap. Jika di sana pengaturcara ingin menyimpan satu set nama pelajar dan nombor indeks yang sepadan, dia boleh menggunakan HashMap. Nama pelajar digunakan untuk mencari nombor indeks. Oleh itu, nama pelajar ialah kunci manakala nombor indeks ialah nilainya.

Perbezaan Antara HashMap dan TreeMap _Rajah 02
Perbezaan Antara HashMap dan TreeMap _Rajah 02

Rajah 02: Program HashMap Menggunakan Java

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

Apakah TreeMap?

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

kelas awam TreeMap memanjangkan AbstractMap melaksanakan NavigableMap, Cloneable, Serializable

K merujuk kekunci manakala V merujuk kepada nilai yang sepadan dengan kunci khusus tersebut. Setiap kunci, pasangan nilai ialah entri TreeMap.

Perbezaan Utama Antara HashMap dan TreeMap
Perbezaan Utama Antara HashMap dan TreeMap

Rajah 03: Program TreeMap menggunakan Java

Menurut program di atas, objek TreeMap dicipta. Kemudian pengaturcara boleh menambah elemen menggunakan objek itu. Nilai boleh dimasukkan menggunakan kaedah put. Untuk mengambil nilai, pengaturcara harus menggunakan kaedah get dengan kunci. Apabila menggunakan studentList.get(“150”); ia akan mencetak nama yang sepadan dengan indeks itu iaitu Ann. Jika pengaturcara ingin mendapatkan semua nilai, maka dia boleh menggunakan Map. Entry untuk mencetak semua kunci dan nilai. Apabila memerhatikan output, dapat dilihat bahawa TreeMap mengekalkan susunan tertentu. Elemen dicetak dalam tertib menaik.

Apakah Persamaan 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 had pada bilangan elemen yang boleh disimpan dalam HashMap dan TreeMap.

Apakah Perbezaan Antara HashMap dan TreeMap?

HashMap lwn TreeMap

A HashMap ialah kelas pengumpulan berasaskan Peta yang digunakan untuk menyimpan pasangan kunci dan nilai yang tidak mengekalkan susunan tertentu dalam elemen data. Peta Pokok ialah kelas pengumpulan berasaskan Peta yang digunakan untuk menyimpan pasangan kunci dan nilai yang mengekalkan tertib menaik bagi elemen data.
Pesanan
HashMap tidak mengekalkan pesanan. Peta Pokok mengekalkan tertib menaik.
Kunci Null
HashMap boleh mengandungi satu kunci nol. Peta Pokok tidak boleh mempunyai kunci null.
Prestasi
HashMap lebih pantas daripada TreeMap. TreeMap lebih perlahan daripada HashMap.

Ringkasan – HashMap lwn TreeMap

Bahasa pengaturcaraan seperti Java mengandungi rangka kerja koleksi. Dalam tatasusunan, boleh terdapat bilangan elemen tetap. Oleh itu, saiz tatasusunan harus dimulakan pada permulaan. Dalam koleksi, pengaturcara boleh menyimpan banyak elemen seperti yang diperlukan. Tiada jumlah khusus untuk disimpan. Peta ialah antara muka kepunyaan rangka kerja koleksi. HashMap ialah kelas pengumpulan berasaskan Peta yang digunakan untuk menyimpan pasangan kunci dan nilai yang tidak mengekalkan susunan tertentu dalam elemen data. TreeMap ialah kelas pengumpulan berasaskan Peta yang digunakan untuk menyimpan pasangan kunci dan nilai yang mengekalkan tertib menaik bagi elemen data. Artikel ini membincangkan perbezaan antara HashMap dan TreeMap yang melaksanakan antara muka Peta. Perbezaan antara HashMap dan TreeMap ialah HashMap tidak mengekalkan susunan tertentu dalam elemen data manakala TreeMap mengekalkan tertib menaik bagi elemen data.

Disyorkan: