java
Sebelum Java 2, Java menyediakan kelas ad hoc seperti Kamus, Vektor, Stack, dan Properti untuk menyimpan dan memanipulasi kelompok objek. Meskipun kelas-kelas ini cukup berguna, mereka tidak memiliki tema sentral dan pemersatu. Jadi, cara Anda menggunakan Vector berbeda dengan cara Anda menggunakan Properties.
Kerangka koleksi dirancang untuk memenuhi beberapa tujuan, seperti −
Kerangka kerja harus berkinerja tinggi. Implementasi untuk koleksi dasar (array dinamis, daftar tertaut, pohon, dan tabel hash) harus sangat efisien.
Kerangka kerja tersebut harus memungkinkan berbagai jenis koleksi untuk bekerja dengan cara yang sama dan dengan tingkat interoperabilitas yang tinggi.
Kerangka kerja harus memperluas dan/atau mengadaptasi koleksi dengan mudah.
Menjelang akhir ini, seluruh kerangka koleksi dirancang di sekitar satu set antarmuka standar. Beberapa implementasi standar seperti LinkedList, HashSet, dan TreeSet , dari antarmuka ini disediakan bahwa Anda dapat menggunakan apa adanya dan Anda juga dapat menerapkan koleksi Anda sendiri, jika Anda mau.
Kerangka koleksi adalah arsitektur terpadu untuk mewakili dan memanipulasi koleksi. Semua kerangka kerja koleksi berisi
. berikutAntarmuka Ini adalah tipe data abstrak yang mewakili koleksi. Antarmuka memungkinkan koleksi untuk dimanipulasi secara independen dari detail representasi mereka. Dalam bahasa berorientasi objek, antarmuka umumnya membentuk hierarki.
Implementasi, yaitu Kelas Ini adalah implementasi konkret dari antarmuka koleksi. Intinya, mereka adalah struktur data yang dapat digunakan kembali.
Algoritma Ini adalah metode yang melakukan perhitungan yang berguna, seperti pencarian dan pengurutan, pada objek yang mengimplementasikan antarmuka koleksi. Algoritme dikatakan polimorfik:yaitu, metode yang sama dapat digunakan pada banyak implementasi berbeda dari antarmuka koleksi yang sesuai.
Selain koleksi, kerangka kerja mendefinisikan beberapa antarmuka peta dan kelas. Peta menyimpan pasangan kunci/nilai. Meskipun peta bukan koleksi dalam penggunaan istilah yang tepat, tetapi mereka sepenuhnya terintegrasi dengan koleksi.
Kerangka koleksi mendefinisikan beberapa antarmuka. Bagian ini memberikan gambaran umum dari setiap antarmuka −
No.Pr. | Antarmuka &Deskripsi |
---|---|
1 | Antarmuka Koleksi Ini memungkinkan Anda untuk bekerja dengan kelompok objek; itu ada di bagian atas hierarki koleksi. |
2 | Antarmuka Daftar Ini memperluas Koleksi dan sebuah instance dari List menyimpan kumpulan elemen yang diurutkan. |
3 | Set Ini memperluas Collection untuk menangani set, yang harus berisi elemen unik. |
4 | Set yang Diurutkan Ini memperluas Set untuk menangani set yang diurutkan. |
5 | Peta Ini memetakan kunci unik ke nilai. |
6 | Peta.Entri Ini menjelaskan elemen (pasangan kunci/nilai) dalam peta. Ini adalah kelas dalam dari Peta. |
7 | Peta Terurut Ini memperluas Peta sehingga kunci dipertahankan dalam urutan menaik. |
8 | Pencacahan Ini adalah antarmuka lama yang mendefinisikan metode yang dengannya Anda dapat menghitung (memperoleh satu per satu) elemen dalam kumpulan objek. Antarmuka lama ini telah digantikan oleh Iterator. |
Java menyediakan satu set kelas koleksi standar yang mengimplementasikan antarmuka Koleksi. Beberapa kelas menyediakan implementasi penuh yang dapat digunakan apa adanya dan lainnya adalah kelas abstrak, menyediakan implementasi kerangka yang digunakan sebagai titik awal untuk membuat koleksi konkret.
Kelas koleksi standar diringkas dalam tabel berikut −
No.Pr. | Kelas &Deskripsi |
---|---|
1 | Koleksi Abstrak Mengimplementasikan sebagian besar antarmuka Koleksi. |
2 | Daftar Abstrak Memperluas AbstractCollection dan mengimplementasikan sebagian besar antarmuka Daftar. |
3 | AbstractSequentialList Memperluas AbstractList untuk digunakan oleh koleksi yang menggunakan akses berurutan daripada akses acak elemennya. |
4 | Daftar Tertaut Menerapkan daftar tertaut dengan memperluas AbstractSequentialList. |
5 | Daftar Array Mengimplementasikan larik dinamis dengan memperluas AbstractList. |
6 | AbstrakSet Memperluas AbstractCollection dan mengimplementasikan sebagian besar antarmuka Set. |
7 | HashSet Memperluas AbstractSet untuk digunakan dengan tabel hash. |
8 | LinkedHashSet Memperluas HashSet untuk memungkinkan iterasi urutan penyisipan. |
9 | TreeSet Mengimplementasikan set yang disimpan di pohon. Memperluas AbstractSet. |
10 | Peta Abstrak Mengimplementasikan sebagian besar antarmuka Peta. |
11 | HashMap Memperluas AbstractMap untuk menggunakan tabel hash. |
12 | Peta Pohon Memperluas AbstractMap untuk menggunakan pohon. |
13 | WeakHashMap Perluas AbstractMap untuk menggunakan tabel hash dengan kunci yang lemah. |
14 | LinkedHashMap Memperluas HashMap untuk memungkinkan iterasi urutan penyisipan. |
15 | IdentityHashMap Memperluas AbstractMap dan menggunakan kesetaraan referensi saat membandingkan dokumen. |
AbstractCollection, AbstractSet, AbstractList, AbstractSequentialList dan Peta Abstrak class menyediakan implementasi kerangka dari antarmuka kumpulan inti, untuk meminimalkan upaya yang diperlukan untuk mengimplementasikannya.
Kelas warisan berikut yang didefinisikan oleh java.util telah dibahas di bab sebelumnya
No.Pr. | Kelas &Deskripsi |
---|---|
1 | Vektor Ini mengimplementasikan array dinamis. Ini mirip dengan ArrayList, tetapi dengan beberapa perbedaan. |
2 | Tumpukan Stack adalah subclass dari Vector yang mengimplementasikan stack last-in, first-out standar. |
3 | Kamus Kamus adalah kelas abstrak yang mewakili repositori penyimpanan kunci/nilai dan beroperasi seperti Peta. |
4 | Hashtable Hashtable adalah bagian dari java.util asli dan merupakan implementasi nyata dari Kamus. |
5 | Properti Properties adalah subclass dari Hashtable. Ini digunakan untuk memelihara daftar nilai di mana kuncinya adalah String dan nilainya juga String. |
6 | BitSet Kelas BitSet membuat tipe array khusus yang menyimpan nilai bit. Array ini dapat bertambah ukurannya sesuai kebutuhan. |
Kerangka koleksi mendefinisikan beberapa algoritma yang dapat diterapkan pada koleksi dan peta. Algoritme ini didefinisikan sebagai metode statis dalam kelas Collections.
Beberapa metode dapat melempar ClassCastException , yang terjadi saat upaya dilakukan untuk membandingkan jenis yang tidak kompatibel, atau UnsupportedOperationException , yang terjadi saat upaya dilakukan untuk memodifikasi koleksi yang tidak dapat dimodifikasi.
Koleksi mendefinisikan tiga variabel statis:EMPTY_SET, EMPTY_LIST, dan EMPTY_MAP. Semua tidak dapat diubah.
No.Pr. | Algoritma &Deskripsi |
---|---|
1 | Algoritma Koleksi Berikut adalah daftar semua implementasi algoritma. |
Seringkali, Anda ingin menggilir elemen-elemen dalam koleksi. Misalnya, Anda mungkin ingin menampilkan setiap elemen.
Cara termudah untuk melakukannya adalah dengan menggunakan iterator, yang merupakan objek yang mengimplementasikan antarmuka Iterator atau ListIterator.
Iterator memungkinkan Anda untuk menggilir koleksi, memperoleh, atau menghapus elemen. ListIterator memperluas Iterator untuk memungkinkan traversal dua arah dari daftar dan modifikasi elemen.
No.Pr. | Metode &Deskripsi Iterator |
---|---|
1 | Menggunakan Java Iterator Berikut adalah daftar semua metode dengan contoh yang disediakan oleh antarmuka Iterator dan ListIterator. |
TreeSet dan TreeMap menyimpan elemen dalam urutan yang diurutkan. Namun, pembandinglah yang mendefinisikan dengan tepat apa urutan yang diurutkan artinya.
Antarmuka ini memungkinkan kita mengurutkan koleksi tertentu dengan berbagai cara. Antarmuka ini juga dapat digunakan untuk mengurutkan setiap instance dari kelas mana pun (bahkan kelas yang tidak dapat kita modifikasi).
No.Pr. | Metode &Deskripsi Iterator |
---|---|
1 | Menggunakan Pembanding Java Berikut adalah daftar semua metode dengan contoh yang disediakan oleh Antarmuka Pembanding. |
Kerangka koleksi Java memberi programmer akses ke struktur data yang telah dikemas sebelumnya serta ke algoritme untuk memanipulasinya.
Koleksi adalah objek yang dapat menyimpan referensi ke objek lain. Antarmuka koleksi mendeklarasikan operasi yang dapat dilakukan pada setiap jenis koleksi.
Kelas dan antarmuka kerangka kerja koleksi ada dalam paket java.util.
java
Kerangka Koleksi Java Dalam tutorial ini, kita akan belajar tentang antarmuka yang berbeda dari kerangka koleksi Java. Koleksi Java Java framework menyediakan satu set antarmuka dan kelas untuk mengimplementasikan berbagai struktur data dan algoritme. Misalnya, LinkedList kelas kerangka koleksi m
Antarmuka Koleksi Java Dalam tutorial ini, kita akan belajar tentang antarmuka Java Collection dan subinterface-nya. Collection antarmuka adalah antarmuka akar kerangka koleksi Java. Tidak ada implementasi langsung dari antarmuka ini. Namun, ini diimplementasikan melalui subinterfacenya seperti L
Daftar Java Dalam tutorial ini, kita akan belajar tentang antarmuka Daftar di Java dan metodenya. Dalam Java, List interface adalah kumpulan terurut yang memungkinkan kita untuk menyimpan dan mengakses elemen secara berurutan. Ini memperluas Collection antarmuka. Kelas yang Menerapkan Daftar Seja
Apa itu Pengumpulan Sampah di Jawa? Pengumpulan Sampah di Jawa adalah proses dimana program melakukan manajemen memori secara otomatis. Pengumpul Sampah (GC) menemukan objek yang tidak digunakan dan menghapusnya untuk mendapatkan kembali memori. Di Java, alokasi memori dinamis objek dicapai dengan