Perbezaan Antara TreeSet dan HashSet

Isi kandungan:

Perbezaan Antara TreeSet dan HashSet
Perbezaan Antara TreeSet dan HashSet

Video: Perbezaan Antara TreeSet dan HashSet

Video: Perbezaan Antara TreeSet dan HashSet
Video: Belajar Java - Collections - (Set hashset, treeset, linkedhashset) 2024, November
Anonim

Perbezaan Utama – TreeSet vs HashSet

Kebanyakan bahasa pengaturcaraan menyokong Tatasusunan. Ia ialah struktur data yang digunakan untuk menyimpan berbilang elemen jenis data yang sama. Jika terdapat tatasusunan yang diisytiharkan untuk enam elemen, maka ia tidak boleh digunakan untuk menyimpan sepuluh elemen. Oleh itu, tatasusunan tidak dinamik dan tidak boleh mengubah saiz tatasusunan sebaik sahaja ia diisytiharkan. Bahasa pengaturcaraan seperti Java menyokong Koleksi yang digunakan untuk menyimpan data secara dinamik. Koleksi menyokong operasi seperti menambah elemen dan memadamkan elemen. Terdapat beberapa antara muka dan kelas dalam hierarki koleksi. Antara muka asas ialah antara muka Koleksi. Set ialah antara muka yang memanjangkan antara muka Koleksi. Ia tidak membenarkan pendua. TreeSet dan HashSet ialah dua kelas dalam hierarki Koleksi dan kedua-duanya melaksanakan antara muka Set. TreeSet ialah kelas yang melaksanakan antara muka Set dan ia digunakan untuk menyimpan elemen unik dalam tertib menaik. HashSet ialah kelas yang melaksanakan antara muka Set dan ia digunakan untuk menyimpan elemen unik menggunakan mekanisme Hashing. Perbezaan utama antara TreeSet dan HashSet ialah TreeSet menyimpan elemen dalam tertib menaik manakala HashSet tidak menyimpan elemen dalam tertib menaik. Kedua-dua TreeSet dan HashSet hanya menyimpan elemen unik.

Apakah TreeSet?

Kelas TreeSet melaksanakan antara muka NavigableSet. Antara muka NavigableSet memanjangkan antara muka SortedSet, Set, Collection dan Iterable dalam susunan hierarki. TreeSet sentiasa mengekalkan susunan menaik. Jika elemen dimasukkan dalam susunan B, A, C, ia akan disimpan sebagai A, B, C. Kaedah seperti tambah (), buang () boleh digunakan dengan objek TreeSet. Kaedah tambah boleh digunakan untuk menambah elemen. Kaedah alih keluar digunakan untuk mengalih keluar elemen daripada koleksi. Itulah beberapa kaedah yang boleh digunakan dengan TreeSet.

Perbezaan Antara TreeSet dan HashSet
Perbezaan Antara TreeSet dan HashSet

Rajah 01: Program dengan TreeSet

Mengikut program di atas, objek jenis TreeSet dicipta. Elemen data rentetan ditambahkan pada objek itu menggunakan kaedah tambah. Susunan data yang dimasukkan ialah A, D, A, B, C, D. Menggunakan iterator, nilai yang disimpan dicetak ke skrin. Outputnya ialah A, B, C, D. Walaupun, terdapat dua huruf A dan dua huruf D, output memaparkan satu A dan satu D setiap satu. Oleh itu, TreeSet menyimpan elemen unik. Tiada susunan sisipan tertentu tetapi apabila memerhatikan output, dapat dilihat bahawa TreeSet mengekalkan susunan menaik bagi unsur-unsur.

Apakah itu HashSet?

Kelas HashSet memanjangkan kelas AbstractSet yang melaksanakan Antara Muka Set. Antara muka Set mewarisi antara muka Collection dan Iterable dalam susunan hierarki. Dalam HashSet, tiada jaminan bahawa elemen akan mengekalkan susunan menaik dan susunan yang dimasukkan. Jika tertib yang dimasukkan ialah A, B, C maka nilai mungkin disimpan sebagai C, A, B. Tertib penyimpanan juga boleh menjadi A, B, C tetapi tiada jaminan bahawa tertib yang dimasukkan atau tertib menaik dikekalkan.

Perbezaan Utama Antara TreeSet dan HashSet
Perbezaan Utama Antara TreeSet dan HashSet

Rajah 02: Program dengan HashSet

Mengikut program di atas, objek jenis HashSet dicipta. Elemen data rentetan ditambahkan pada objek itu menggunakan kaedah tambah. Susunan data yang dimasukkan ialah L, R, M, M, R, L. Menggunakan iterator, nilai yang disimpan dicetak ke skrin. Outputnya ialah R L M. Walaupun, terdapat dua huruf L, R dan M daripada setiap satu, hanya satu huruf daripada setiap satu dipaparkan. Oleh itu, HashSet menyimpan elemen unik. Apabila memerhatikan output, dapat dilihat bahawa tiada tertib menaik atau susunan yang dimasukkan dikekalkan.

Apakah Persamaan Antara TreeSet dan HashSet?

  • Kedua-dua TreeSet dan HashSet ialah kelas yang tergolong dalam hierarki koleksi.
  • Kedua-dua TreeSet dan HashSet hanya menyimpan elemen unik.
  • Kedua-dua TreeSet dan HashSet boleh digunakan untuk menyimpan dan memanipulasi banyak elemen.
  • Kedua-dua TreeSet dan HashSet tidak mengekalkan susunan yang dimasukkan.

Apakah Perbezaan Antara TreeSet dan HashSet?

TreeSet lwn HashSet

TreeSet ialah kelas dalam hierarki koleksi yang digunakan untuk menyimpan elemen unik dalam tertib menaik. HashSet ialah kelas dalam hierarki koleksi yang digunakan untuk menyimpan elemen unik menggunakan mekanisme Hashing.
Penyimpanan Elemen
TreeSet menyimpan elemen dalam tertib menaik. HashSet tidak menyimpan elemen dalam tertib menaik.

Ringkasan – TreeSet lwn HashSet

Dalam pengaturcaraan, ia diperlukan untuk menyimpan elemen data secara dinamik. Bahasa pengaturcaraan seperti Java menyokong Koleksi untuk mencapai tugas ini. Terdapat beberapa antara muka dan kelas dalam hierarki koleksi. TreeSet dan HashSet ialah dua kelas dalam hierarki Koleksi. Kedua-duanya melaksanakan antara muka Set. TreeSet ialah kelas yang melaksanakan antara muka Set dan ia digunakan untuk menyimpan elemen unik dalam tertib menaik. HashSet ialah kelas yang melaksanakan antara muka Set dan ia digunakan untuk menyimpan elemen unik menggunakan mekanisme Hashing. Perbezaan antara TreeSet dan HashSet ialah TreeSet menyimpan elemen dalam tertib menaik manakala HashSet tidak menyimpan elemen dalam tertib menaik. Artikel ini membincangkan perbezaan antara TreeSet dan HashSet.

Disyorkan: