konsep
Pertama, mari kita lihat koleksi set.
(01) Set adalah antarmuka yang diwarisi dari koleksi. Ini adalah koleksi yang tidak memungkinkan elemen duplikat.
(02) Abstractset adalah kelas abstrak, yang mewarisi dari AbstractCollection. AbstractCollection mengimplementasikan sebagian besar fungsi dalam set, memberikan kenyamanan untuk kelas implementasi yang ditetapkan.
(03) Hastset dan Treeset adalah dua kelas implementasi dari set.
Hashset bergantung pada hashmap, yang sebenarnya diimplementasikan melalui hashmap. Elemen -elemen dalam hashset rusak.
Treeset bergantung pada TreeMap, yang sebenarnya diimplementasikan melalui TreeMap. Unsur -unsur di Treeset dipesan.
misalnya:
Mari kita lihat pemanfaatan koleksi yang ditetapkan dengan melintasi pelanggaran:
paket com.sort; impor java.util.hashset; impor java.util.iterator; impor java.util.set; /*** Koleksi yang tidak mengandung elemen duplikat. Lebih khusus lagi, Set tidak mengandung elemen yang memenuhi E1.Equals (E2), E1 dan E2, * @Author pemilik * */ kelas publik setest2 {public static void main (string [] args) {set <string> set = hashset baru <string> (); set.add ("a"); set.add ("b"); set.add ("c"); set.add ("d"); set.add ("e"); set.add ("e"); set.add ("e"); // Data ganda tidak dapat dimasukkan ke dalam/*** Metode Traversal 1, traversal iteratif*/untuk (iterator <string> iterator = set.iterator (); iterator.hasnext ();) {System.out.print (iterator.next ()+""); } System.out.println (); System.out.println ("**********************"); / *** untuk loop traversal yang ditingkatkan*/ untuk (nilai string: set) {System.out.print (value+""); }}} Catatan: Jenis string ditempatkan di koleksi set. Jika kita memberikan instance kelas yang kita definisikan, seperti instance kelas orang, kita harus menghapus kembali dan metode yang sama kita sendiri dan menulis ulang mereka dengan bidang kunci kita sendiri, karena ketika menggunakan hashset, metode hashcode () akan dipanggil untuk menentukan apakah nilai kode hash dari objek yang telah disimpan dalam koleksi konsisten dengan nilai kode hash; Jika tidak konsisten, tambahkan secara langsung; Jika konsisten, bandingkan metode yang sama. Jika metode Equals mengembalikan true, itu berarti bahwa objek telah ditambahkan, dan tidak ada objek baru yang akan ditambahkan, jika tidak itu akan ditambahkan.