Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Menguasai Koleksi Java: Panduan Lengkap Struktur Data Efisien

Sebelum Java 2, Java menyediakan kelas ad hoc seperti Dictionary, Vector, Stack, dan Properties untuk menyimpan dan memanipulasi sekelompok objek. Meskipun kelas ini cukup berguna, mereka kurang memiliki tema terpadu yang sentral. Oleh karena itu, cara Anda menggunakan Vector berbeda dari cara Anda menggunakan Properties.

Framework koleksi dirancang untuk memenuhi beberapa tujuan, seperti:

Untuk tujuan ini, seluruh framework koleksi dirancang sekitar seperangkat antarmuka standar. Beberapa implementasi standar seperti LinkedList, HashSet, dan TreeSet, dari antarmuka ini disediakan yang dapat Anda gunakan sebagaimana adanya dan Anda juga dapat mengimplementasikan koleksi Anda sendiri, jika Anda memilih.

Framework koleksi adalah arsitektur terpadu untuk mewakili dan memanipulasi koleksi. Semua framework koleksi mencakup hal berikut:

Selain koleksi, framework mendefinisikan beberapa antarmuka dan kelas peta. Peta menyimpan pasangan kunci/nilai. Meskipun peta bukan koleksi dalam penggunaan yang tepat dari istilah, namun mereka sepenuhnya terintegrasi dengan koleksi.

Antarmuka Koleksi

Framework koleksi mendefinisikan beberapa antarmuka. Bagian ini memberikan gambaran umum setiap antarmuka:

Sr.No. Antarmuka & Deskripsi
1 The Collection Interface

Ini memungkinkan Anda bekerja dengan sekelompok objek; ini berada di puncak hierarki koleksi.

2 The List Interface

Ini memperluas Collection dan instance List menyimpan koleksi terurut elemen.

3 The Set

Ini memperluas Collection untuk menangani himpunan, yang harus berisi elemen unik.

4 The SortedSet

Ini memperluas Set untuk menangani himpunan terurut.

5 The Map

Ini memetakan kunci unik ke nilai.

6 The Map.Entry

Ini menggambarkan elemen (pasangan kunci/nilai) dalam peta. Ini adalah kelas dalam dari Map.

7 The SortedMap

Ini memperluas Map sehingga kunci dipertahankan dalam urutan menaik.

8 The Enumeration

Ini adalah antarmuka lama yang mendefinisikan metode untuk menghitung (mendapatkan satu per satu) elemen dalam sekelompok objek. Antarmuka lama ini telah digantikan oleh Iterator.

Kelas Koleksi

Java menyediakan seperangkat kelas koleksi standar yang mengimplementasikan antarmuka Koleksi. Beberapa kelas menyediakan implementasi lengkap yang dapat digunakan sebagaimana adanya dan yang lain adalah kelas abstrak, yang menyediakan implementasi kerangka yang digunakan sebagai titik awal untuk membuat koleksi konkret.

Kelas koleksi standar diringkas dalam tabel berikut:

Sr.No. Kelas & Deskripsi
1

AbstractCollection

Mengimplementasikan sebagian besar antarmuka Collection.

2

AbstractList

Memperluas AbstractCollection dan mengimplementasikan sebagian besar antarmuka List.

3

AbstractSequentialList

Memperluas AbstractList untuk digunakan oleh koleksi yang menggunakan akses berurutan daripada akses acak elemennya.

4 LinkedList

Mengimplementasikan daftar terhubung dengan memperluas AbstractSequentialList.

5 ArrayList

Mengimplementasikan array dinamis dengan memperluas AbstractList.

6

AbstractSet

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 himpunan yang disimpan dalam pohon. Memperluas AbstractSet.

10

AbstractMap

Mengimplementasikan sebagian besar antarmuka Map.

11 HashMap

Memperluas AbstractMap untuk menggunakan tabel hash.

12 TreeMap

Memperluas AbstractMap untuk menggunakan pohon.

13 WeakHashMap

Memperluas AbstractMap untuk menggunakan tabel hash dengan kunci lemah.

14 LinkedHashMap

Memperluas HashMap untuk memungkinkan iterasi urutan penyisipan.

15 IdentityHashMap

Memperluas AbstractMap dan menggunakan kesetaraan referensi saat membandingkan dokumen.

Kelas AbstractCollection, AbstractSet, AbstractList, AbstractSequentialList dan AbstractMap menyediakan implementasi kerangka dari antarmuka koleksi inti, untuk meminimalkan upaya yang diperlukan untuk mengimplementasikannya.

Beberapa kelas lama yang didefinisikan oleh java.util telah dibahas di bab sebelumnya:

Sr.No. Kelas & Deskripsi
1 Vector

Ini mengimplementasikan array dinamis. Mirip dengan ArrayList, tetapi dengan beberapa perbedaan.

2 Stack

Stack adalah subclass dari Vector yang mengimplementasikan tumpukan standar last-in, first-out.

3 Dictionary

Dictionary adalah kelas abstrak yang mewakili repositori penyimpanan kunci/nilai dan beroperasi hampir seperti Map.

4 Hashtable

Hashtable adalah bagian dari java.util asli dan adalah implementasi konkret dari Dictionary.

5 Properties

Properties adalah subclass dari Hashtable. Digunakan untuk memelihara daftar nilai di mana kunci adalah String dan nilai juga String.

6 BitSet

Kelas BitSet membuat jenis array khusus yang menyimpan nilai bit. Array ini dapat bertambah ukurannya sesuai kebutuhan.

Algoritma Koleksi

Framework koleksi mendefinisikan beberapa algoritma yang dapat diterapkan pada koleksi dan peta. Algoritma ini didefinisikan sebagai metode statis dalam kelas Collections.

Beberapa metode dapat melempar ClassCastException, yang terjadi saat upaya membandingkan tipe yang tidak kompatibel, atau UnsupportedOperationException, yang terjadi saat upaya memodifikasi koleksi yang tidak dapat dimodifikasi.

Collections mendefinisikan tiga variabel statis: EMPTY_SET, EMPTY_LIST, dan EMPTY_MAP. Semua tidak dapat diubah.

Sr.No. Algoritma & Deskripsi
1 The Collection Algorithms

Berikut adalah daftar semua implementasi algoritma.

Cara Menggunakan Iterator ?

Seringkali, Anda ingin melalui 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 melalui koleksi, mendapatkan atau menghapus elemen. ListIterator memperluas Iterator untuk memungkinkan traversal dua arah dari daftar dan modifikasi elemen.

Sr.No. Metode Iterator & Deskripsi
1 Using Java Iterator

Berikut adalah daftar semua metode dengan contoh yang disediakan oleh antarmuka Iterator dan ListIterator.

Cara Menggunakan Comparator ?

Kedua TreeSet dan TreeMap menyimpan elemen dalam urutan terurut. Namun, komparator yang menentukan secara tepat apa artinya urutan terurut.

Antarmuka ini memungkinkan kita mengurutkan koleksi tertentu dalam berbagai cara yang berbeda. Juga antarmuka ini dapat digunakan untuk mengurutkan instance kelas apa pun (bahkan kelas yang tidak dapat kita modifikasi).

Sr.No. Metode Iterator & Deskripsi
1 Using Java Comparator

Berikut adalah daftar semua metode dengan contoh yang disediakan oleh antarmuka Comparator.

Ringkasan

Framework Koleksi Java memberikan programmer akses ke struktur data siap pakai serta algoritma untuk memanipulasinya.

Koleksi adalah objek yang dapat menahan referensi ke objek lain. Antarmuka koleksi mendeklarasikan operasi yang dapat dilakukan pada setiap tipe koleksi.

Kelas dan antarmuka framework koleksi berada dalam paket java.util.

java

  1. Menguasai Operator Java: Tipe, Sintaks, & Contoh Praktis
  2. Komentar Java: Tipe, Penggunaan, dan Best Practices
  3. Menguasai Java Enhanced For Loop: Sintaks, Contoh, dan Best Practices
  4. Menguasai String Java: Pembuatan, Metode, dan Best Practices
  5. Menguasai Antarmuka Java: Konsep, Implementasi, dan Praktik Terbaik
  6. Menguasai Kelas Dalam Anonim Java: Definisi, Sintaks, dan Contoh Praktis
  7. Menguasai Java Try-with-Resources: Manajemen Sumber Daya Otomatis Dijelaskan
  8. Anotasi Java Dijelaskan: Jenis, Penempatan, dan Contoh Praktis
  9. Pernyataan Java: Panduan Praktis untuk Mendeteksi Bug dan Memastikan Keandalan Kode
  10. Menguasai Koleksi C#: Tutorial Praktis dengan Contoh Dunia Nyata