Antarmuka: merah; Kelas Implementasi: Font Hitam
1. Koleksi Koleksi
Koleksi
| _____ set (hashset)
| | _____ sortedset (TreeSet)
| _____ Daftar (ArrayList, LinkedList, Vector)
Koleksi : Antarmuka root di tingkat koleksi. JDK tidak menyediakan kelas implementasi untuk antarmuka ini.
Daftar : Orderly (dalam urutan penempatan), dapat diulang, dan memiliki subskrip.
Set : Tidak tertib, tidak dapat diulang, tidak ada subskrip.
SortedSet : adalah subinterface dari antarmuka yang ditetapkan. Elemen -elemen dalam sortedset dipesan (dalam urutan naik dalam alfabet).
Melalui metode compareto antarmuka yang sebanding, elemen -elemen tersebut diimplementasikan dengan cara yang tertib. Semua elemen yang ditempatkan harus mengimplementasikan antarmuka yang sebanding (atau diterima oleh pembanding yang ditentukan).
Perbedaan antara kelas implementasi antarmuka daftar :
ArrayList : Pada dasarnya adalah array. Thread tidak aman. Kueri (Get/Set) Cepat, Tambah/Hapus (Tambah/Hapus) lambat.
LinkedList : Pada dasarnya daftar tertaut dua arah. Thread tidak aman. Kueri (Get/Set) lambat, tambahkan/lepas cepat.
Vektor : Hampir persis sama dengan ArrayList. Satu-satunya perbedaan adalah bahwa vektor disinkronkan dan aman-utas.
2. Koleksi peta
Peta (hashmap, hashtable)
| _____ SortedMap (TREESMAP)
Peta : Ini menyimpan pasangan nilai kunci, yang tidak dapat berisi tombol duplikat, dan dapat memiliki nilai duplikat.
SortedMap : Subinterface Peta SortedMap adalah peta yang mengatur kunci dalam urutan naik.
Perbedaan antara hashmap , hashtable dan treemap
HashMap : Benang tidak aman. Baik kunci maupun nilainya bisa nol. Elemen -elemennya tidak teratur. Lapisan yang mendasarinya adalah struktur data tabel hash.
Hashtable : Thread-Safe. Baik kunci maupun nilai tidak bisa nol. Elemen -elemennya tidak teratur. Lapisan yang mendasarinya adalah struktur data tabel hash.
TreeMap : Thread tidak aman. Baik kunci maupun nilai tidak bisa nol. Elemen -elemen dipesan (dalam urutan abjad naik). Lapisan yang mendasarinya adalah struktur data pohon biner.
3. Cara mengimplementasikan kunci dan mengatur nilai peta tanpa duplikasi
Peta menempatkan kunci yang sama , dan kemudian menutupi yang sebelumnya
Peta peta = hashmap baru ();
Map.put ("Name", "Zhang San");
peta.put ("name", "wangwu"); ------- efektif, timpa sebelumnya
Saat set menempatkan elemen yang sama, yang pertama valid, dan yang berikutnya tidak akan dimasukkan ke dalam
Set set = hashset baru ();
set.add ("111"); --- efektif
set.add ("222"); ---- menilai bahwa itu sudah ada dan tidak akan dimasukkan
1. Hashmap put dan hashset add
Karena metode HashSet Add () sebenarnya berubah untuk memanggil metode HashMap's Put () untuk menambahkan pasangan nilai kunci saat menambahkan elemen koleksi. Metode put () hashmap panggilan pertama .hashCode () untuk menentukan bahwa nilai pengembalian sama. Jika nilai pengembalian sama, maka ia kembali benar melalui perbandingan sama. Akhirnya, diyakini bahwa objek utama adalah sama dan sudah ada di hashmap.
2. TreeMap Put dan Treeset Add
Ketika metode PUT dipanggil di TREEMAP untuk menambahkan nilai kunci, metode compareTo (atau perbandingan) dari objek dipanggil untuk membandingkan semua tombol. Jika metode ini mengembalikan 0, kedua kunci dianggap sama.
Saat menambahkan elemen di TreeSet, hubungi compareTo atau bandingkan metode untuk menemukan posisi elemen, yaitu, mengembalikan compareTo atau bandingkan dengan mengembalikan 0, yang dianggap sebagai posisi yang sama, yaitu, elemen yang sama