TreeSet, LinkedHashSet, dan HashSet di Java adalah tiga set implementasi dalam kerangka koleksi dan seperti banyak lainnya mereka juga digunakan untuk menyimpan objek. Fitur utama TreeSet adalah pengurutan, LinkedHashSet adalah urutan penyisipan dan HashSet hanyalah koleksi tujuan umum untuk menyimpan objek. HashSet diimplementasikan menggunakan HashMap di Java sementara TreeSet diimplementasikan menggunakan TreeMap. TreeSet adalah implementasi SortedSet yang memungkinkannya untuk menjaga elemen-elemen dalam urutan diurutkan yang didefinisikan oleh antarmuka Comparable atau Comparator. Sebanding digunakan untuk menyortir urutan alami dan Pembanding untuk menyortir pesanan kustom objek, yang dapat disediakan saat membuat instance TreeSet. Pokoknya sebelum melihat perbedaan antara TreeSet, LinkedHashSet dan HashSet, mari kita lihat beberapa kesamaan di antara mereka:
1) Duplikat: Ketiga alat Set interface berarti mereka tidak diizinkan untuk menyimpan duplikat.
2) Keamanan thread: HashSet, TreeSet dan LinkedHashSet tidak aman untuk thread, jika Anda menggunakannya di lingkungan multi-threading di mana setidaknya satu Thread diubah. Set Anda perlu menyinkronkannya secara eksternal.
3) Fail-Fast Iterator: Iterator dikembalikan oleh TreeSet, LinkedHashSet dan HashSet adalah Iterator yang gagal-cepat. mis. Jika Iterator dimodifikasi setelah pembuatannya dengan cara apa pun selain metode Iterator hapus (), ia akan membuang ConcurrentModificationException dengan upaya terbaik. baca lebih lanjut tentang Iterator gagal-cepat vs gagal-aman di sini
Sekarang mari kita lihat perbedaan antara HashSet, LinkedHashSet dan TreeSet di Jawa:
Performa dan Kecepatan: Perbedaan pertama di antara mereka datang dalam hal kecepatan. HashSet adalah yang tercepat, LinkedHashSet adalah yang kedua dalam kinerja atau hampir mirip dengan HashSet tetapi TreeSet sedikit lebih lambat karena operasi penyortiran yang perlu dilakukan pada setiap penyisipan. TreeSet memberikan jaminan O(log(n)) waktu untuk operasi umum seperti menambah, menghapus, dan memuat, sementara HashSet dan LinkedHashSet menawarkan kinerja waktu yang konstan mis. O(1) untuk menambah, berisi dan menghapus fungsi hash yang diberikan secara merata mendistribusikan elemen dalam ember.
Pemesanan: HashSet tidak mempertahankan pesanan apa pun sementara LinkedHashSet mempertahankan urutan penyisipan elemen seperti Daftar antarmuka dan TreeSet mempertahankan urutan penyortiran atau elemen.
Implementasi Internal: HashSet didukung oleh instance HashMap, LinkedHashSet diimplementasikan menggunakan HashSet dan LinkedList sementara TreeSet didukung oleh NavigableMap di Jawa dan secara default menggunakan TreeMap.
null: Baik HashSet dan LinkedHashSet memungkinkan nol tetapi TreeSet tidak mengizinkan nol dan melempar Java.lang.NullPointerException ketika Anda akan memasukkan null ke TreeSet.
Penjelasan:
maaf kalau salah jawaban by fajar lazuardi
1 votes Thanks 2
xfxalfn
nah... sukak nih yang gini - gini, Thank you so much bro.
Jawaban:
TreeSet, LinkedHashSet, dan HashSet di Java adalah tiga set implementasi dalam kerangka koleksi dan seperti banyak lainnya mereka juga digunakan untuk menyimpan objek. Fitur utama TreeSet adalah pengurutan, LinkedHashSet adalah urutan penyisipan dan HashSet hanyalah koleksi tujuan umum untuk menyimpan objek. HashSet diimplementasikan menggunakan HashMap di Java sementara TreeSet diimplementasikan menggunakan TreeMap. TreeSet adalah implementasi SortedSet yang memungkinkannya untuk menjaga elemen-elemen dalam urutan diurutkan yang didefinisikan oleh antarmuka Comparable atau Comparator. Sebanding digunakan untuk menyortir urutan alami dan Pembanding untuk menyortir pesanan kustom objek, yang dapat disediakan saat membuat instance TreeSet. Pokoknya sebelum melihat perbedaan antara TreeSet, LinkedHashSet dan HashSet, mari kita lihat beberapa kesamaan di antara mereka:
1) Duplikat: Ketiga alat Set interface berarti mereka tidak diizinkan untuk menyimpan duplikat.
2) Keamanan thread: HashSet, TreeSet dan LinkedHashSet tidak aman untuk thread, jika Anda menggunakannya di lingkungan multi-threading di mana setidaknya satu Thread diubah. Set Anda perlu menyinkronkannya secara eksternal.
3) Fail-Fast Iterator: Iterator dikembalikan oleh TreeSet, LinkedHashSet dan HashSet adalah Iterator yang gagal-cepat. mis. Jika Iterator dimodifikasi setelah pembuatannya dengan cara apa pun selain metode Iterator hapus (), ia akan membuang ConcurrentModificationException dengan upaya terbaik. baca lebih lanjut tentang Iterator gagal-cepat vs gagal-aman di sini
Sekarang mari kita lihat perbedaan antara HashSet, LinkedHashSet dan TreeSet di Jawa:
Performa dan Kecepatan: Perbedaan pertama di antara mereka datang dalam hal kecepatan. HashSet adalah yang tercepat, LinkedHashSet adalah yang kedua dalam kinerja atau hampir mirip dengan HashSet tetapi TreeSet sedikit lebih lambat karena operasi penyortiran yang perlu dilakukan pada setiap penyisipan. TreeSet memberikan jaminan O(log(n)) waktu untuk operasi umum seperti menambah, menghapus, dan memuat, sementara HashSet dan LinkedHashSet menawarkan kinerja waktu yang konstan mis. O(1) untuk menambah, berisi dan menghapus fungsi hash yang diberikan secara merata mendistribusikan elemen dalam ember.
Pemesanan: HashSet tidak mempertahankan pesanan apa pun sementara LinkedHashSet mempertahankan urutan penyisipan elemen seperti Daftar antarmuka dan TreeSet mempertahankan urutan penyortiran atau elemen.
Implementasi Internal: HashSet didukung oleh instance HashMap, LinkedHashSet diimplementasikan menggunakan HashSet dan LinkedList sementara TreeSet didukung oleh NavigableMap di Jawa dan secara default menggunakan TreeMap.
null: Baik HashSet dan LinkedHashSet memungkinkan nol tetapi TreeSet tidak mengizinkan nol dan melempar Java.lang.NullPointerException ketika Anda akan memasukkan null ke TreeSet.
Penjelasan:
maaf kalau salah jawaban by fajar lazuardi