Last Updated on January 30, 2023 by
Java Collection adalah framework yang menyimpan dan memanipulasi sekelompok objek . Ini adalah hierarki interface dan kelas yang menyediakan pengelolaan yang mudah dari sekelompok objek. Framework Java koleksi menyediakan banyak interface ( List, Queue, Deque, Set ) dan class ( ArrayList, Vector, LinkedList, PriorityQueue, HashSet, LinkedHashSet, TreeSet ).
Belajar java collection dapat mencapai semua operasi yang Anda lakukan pada data seperti pencarian, pengurutan, penyisipan, manipulasi, dan penghapusan.
Pada artikel ini, kita akan belajar tentang Collections Framework di Java. Berbagai kelas dan interface dari Collections Framework akan dibahas secara mendalam di sini, cukup baik untuk membantu Anda memulai.
Table of Contents
Pengertian Java Collection
Perhatikan celengan. Kita semua memilikinya selama masa kecil kita dimana biasanya kita menyimpan uang berupa koin ataupun kertas. Celengan ini disebut Collection dan uang itu tidak lain adalah benda. Secara teknis, Collection adalah objek atau wadah yang menyimpan sekelompok objek lain.
Apa itu Java Collection? Koleksi pada Java mengacu pada kumpulan objek individu yang direpresentasikan sebagai satu kesatuan. Anda dapat melakukan semua operasi seperti pencarian, pengurutan, penyisipan, manipulasi, penghapusan, dll., pada koleksi Java seperti yang Anda lakukan pada data.
Collection adalah kerangka kerja yang menyediakan arsitektur untuk menyimpan dan memanipulasi grup objek.
Java Koleksi adalah objek yang mewakili sekelompok objek, yang dikenal sebagai elemennya. Ini adalah satu kesatuan. Mereka digunakan untuk membakukan cara objek ditangani di kelas.
Sekarang setelah kita mengetahui apa itu koleksi pada java, mari kita coba memahami kasus penggunaan di kehidupan nyata :
- Linked Listmengemulasi riwayat penjelajahan Anda, melatih pelatih yang terhubung satu sama lain, dll.
- Stackseperti tumpukan piring atau nampan di mana yang paling atas diambil terlebih dahulu.
- Queuesama dengan antrian di kehidupan nyata, siapa yang masuk queue terlebih dahulu , keluar duluan juga.
Apa itu Kerangka Java Collection?
Kerangka koleksi Java menyediakan arsitektur untuk menyimpan dan memanipulasi sekelompok objek. Kerangka Java Collection mencakup yang berikut ini:
Interface Java Collection
Interface : Interface di Java mengacu pada tipe data abstrak. Mereka mengizinkan koleksi Java untuk dimanipulasi secara independen dari detail representasi mereka. Juga, mereka membentuk hierarki dalam bahasa pemrograman berorientasi objek.
interface Collection<E>
Di sini, E adalah jenis objek yang akan disimpan oleh koleksi.
Ini menyediakan operasi dasar seperti menambah, menghapus, menghapus elemen dalam koleksi, memeriksa apakah koleksi kosong, dll.
List, Queue dan Set adalah komponen yang memperluas Collection Interface.
Class
Class: Kelas di Java adalah implementasi dari interface koleksi. Ini pada dasarnya mengacu pada struktur data yang digunakan berulang kali.
Algoritma
Algoritma: Algoritma mengacu pada metode yang digunakan untuk melakukan operasi seperti pencarian dan penyortiran, pada objek yang mengimplementasikan interface koleksi. Algoritma bersifat polimorfik karena metode yang sama dapat digunakan untuk mengambil banyak bentuk atau Anda dapat mengatakan melakukan implementasi yang berbeda dari interface Collection.
Jadi menurut Anda mengapa kita membutuhkan koleksi Java? Kerangka koleksi Java menyediakan pengembang untuk mengakses struktur data yang telah dikemas serta algoritma untuk memanipulasi data.
Interface Koleksi adalah akar atau fondasi tempat Kerangka collection dibangun. Ini adalah interface umum yang memiliki deklarasi:
Metode Collection Interface
Collection Interface memiliki metode berikut. Metode yang dideklarasikan dalam interface secara default adalah abstrak (hanya tanda tangan metode, tanpa isi metode) .
Method | Description |
boolean add(E obj) | Ini digunakan untuk menambahkan objek obj ke koleksi. Mengembalikan true jika obj ditambahkan, selain itu mengembalikan false jika elemen obj sudah menjadi anggota dan koleksi tidak mengizinkan duplikat. |
boolean addAll(Collection<? extends E> c) | Menambahkan semua elemen c ke koleksi. Mengembalikan nilai true jika objek ditambahkan, jika tidak, mengembalikan nilai false. |
void clear() | Menghapus semua elemen dari koleksi. |
int size() | Mengembalikan jumlah elemen yang ada dalam koleksi. |
Iterator iterator() | Mengembalikan iterator untuk koleksi. Ini adalah objek yang dapat digunakan untuk mengulang koleksi. |
boolean contains(Object obj) | Memeriksa apakah objek ada dalam koleksi dan mengembalikan nilai true jika ditemukan. Jika tidak, ia mengembalikan false. |
boolean containsAll(Collection<?> c) | Mengembalikan nilai benar jika koleksi berisi semua elemen c, jika tidak, mengembalikan nilai salah. |
int hashCode() | Ini mengembalikan kode hash untuk koleksi yaitu, mengembalikan bilangan bulat atau nilai 4 byte yang dihasilkan oleh algoritma hashing. |
boolean equals(Object obj) | Mengembalikan true jika koleksi dan obj sama, jika tidak mengembalikan false. |
boolean isEmpty() | Mengembalikan true jika koleksi kosong, jika tidak mengembalikan false. |
boolean remove(Object obj) | Menghapus satu contoh object dari koleksi. Mengembalikan true jika elemen dihapus, jika tidak mengembalikan false. |
boolean removeAll(Collection<?> c) | Menghapus semua elemen c dari koleksi. Mengembalikan nilai benar jika elemen dihapus, jika tidak, mengembalikan nilai salah. |
boolean retainAll(Collection<?> c) | Itu hanya mempertahankan elemen-elemen yang ada di c dan menghapus elemen lain dari koleksi. Mengembalikan true jika elemen dihapus, jika tidak mengembalikan false. |
default Spliterator spliterator() | Mengembalikan spliterator ke koleksi. Pemisah dapat digunakan untuk mengulang koleksi dan membaginya menjadi **beberapa set. |
Interface Iterable
Interface Iterable adalah interface root untuk semua kelas Collection. Interface Java Collection memperluas interface Iterable dan oleh karena itu semua subclass dari interface Koleksi juga mengimplementasikan interface Iterable.
Ini hanya berisi satu metode abstrak. yaitu,
Iterator<T> iterator()
Sintaks ini mengembalikan iterator di atas elemen tipe T.
Collection Interface
Collection Interface adalah interface yang diimplementasikan oleh semua kelas dalam kerangka koleksi. Itu mendeklarasikan metode yang akan dimiliki setiap koleksi. Dengan kata lain, kita dapat mengatakan bahwa interface Koleksi membangun fondasi tempat kerangka kerja koleksi bergantung.
Beberapa metode interface Collection adalah Boolean add ( Object obj), Boolean addAll ( Collection c), void clear(), dll. yang diimplementasikan oleh semua subclass dari interface Collection.
List Interface Java Collection
List Interface adalah interface anak dari interface Koleksi. Ini menghambat struktur data tipe daftar di mana kita dapat menyimpan koleksi objek yang dipesan. Itu dapat memiliki nilai duplikat.
Interface daftar diimplementasikan oleh kelas ArrayList, LinkedList, Vector, dan Stack.
Untuk menginisialisasi Daftar interface, kita harus menggunakan :
List <data-type> list1= new ArrayList(); List <data-type> list2 = new LinkedList(); List <data-type> list3 = new Vector(); List <data-type> list4 = new Stack();
Ada berbagai metode dalam list interface yang dapat digunakan untuk menyisipkan, menghapus, dan mengakses elemen dari daftar.
Class-class yang mengimplementasikan list interface diberikan di bawah ini.
- ArrayList
ArrayList Class mengimplementasikan List Interface Collection. Ini menggunakan array dinamis untuk menyimpan elemen duplikat dari tipe data yang berbeda. ArrayList Class mempertahankan urutan penyisipan dan tidak disinkronkan. Elemen yang disimpan dalam ArrayList Class dapat diakses secara acak. Perhatikan contoh berikut.
import java.util.*; class JavaArrayListExample{ public static void main(String args[]){ ArrayList<String> list=new ArrayList<String>(); list.add("Candra"); list.add("Andi"); list.add("Budi"); Iterator itr=list.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } }
- LinkedList
LinkedList mengimplementasikan Interface Collection. Ia menggunakan linked ganda secara internal untuk menyimpan elemen. Itu dapat menyimpan elemen duplikat. Mudah untuk mempertahankan urutan penyisipan dan tidak disinkronkan. Di LinkedList, manipulasinya cepat karena tidak diperlukan pergeseran.
Perhatikan contoh berikut.
import java.util.*; public class JavaLinkedListExample{ public static void main(String args[]){ LinkedList<String> al=new LinkedList<String>(); al.add("Candra"); al.add("Andi"); al.add("Budi"); Iterator<String> itr=al.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } }
- Vektor
Vektor menggunakan array dinamis untuk menyimpan elemen data. Ini mirip dengan ArrayList. Namun, ini disinkronkan dan berisi banyak metode yang bukan merupakan bagian dari kerangka kerja Collection.
Perhatikan contoh berikut.
import java.util.*; public class JavaVektorExample{ public static void main(String args[]){ Vector<String> v=new Vector<String>(); v.add("Candra"); v.add("Andi"); v.add("Budi"); Iterator<String> itr=v.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } }
- Stack
Stack adalah subclass dari Vector. Ini mengimplementasikan struktur data last-in-first-out, yaitu, Stack. Tumpukan berisi semua metode kelas Vector dan juga menyediakan metodenya seperti boolean push(), boolean peek(), boolean push(object o), yang mendefinisikan propertinya.
Perhatikan contoh berikut.
import java.util.*; public class TestJavaCollection4{ public static void main(String args[]){ Stack<String> stack = new Stack<String>(); stack.push("Candra"); stack.push("Andi"); stack.push("Budi"); stack.pop(); Iterator<String> itr=stack.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } }
Queue Interface
Queue interface mempertahankan urutan masuk pertama keluar pertama. Ini dapat didefinisikan sebagai daftar terurut yang digunakan untuk menampung elemen yang akan diproses. Ada berbagai kelas seperti PriorityQueue, Deque, dan ArrayDeque yang mengimplementasikan Queue interface Java Collection.
Ada berbagai kelas yang mengimplementasikan interface Queue, beberapa di antaranya diberikan di bawah ini.
- PriorityQueue
Priority Queue Class mengimplementasikan Queue interface. Ini menampung elemen atau objek yang akan diproses berdasarkan prioritasnya. Priority Queue tidak mengizinkan nilai null disimpan dalam antrean.
Perhatikan contoh berikut.
import java.util.*; public class JavaPriorityQueueExample{ public static void main(String args[]){ PriorityQueue<String> queue=new PriorityQueue<String>(); queue.add("Candra"); queue.add("Andi"); queue.add("Budi"); System.out.println("awal:"+queue.element()); System.out.println("awal:"+queue.peek()); System.out.println("\nIterasi elemen queue:"); Iterator itr=queue.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } queue.remove(); queue.poll(); System.out.println("\nSetelah menghapus 2 elemen:"); Iterator<String> itr2=queue.iterator(); while(itr2.hasNext()){ System.out.println(itr2.next()); } } }
- Array Deque
Array Deque Class mengimplementasikan Deque Interface Collection. Ini memudahkan kita untuk menggunakan Deque. Tidak seperti antrian, kita dapat menambah atau menghapus elemen dari kedua ujungnya.
Array Deque lebih cepat dari ArrayList dan Stack dan tidak memiliki batasan kapasitas.
Perhatikan contoh berikut.
import java.util.*; public class JavaArrayDequeExample{ public static void main(String[] args) { Deque<String> deque = new ArrayDeque<String>(); deque.add("Candra"); deque.add("Andi"); deque.add("Budi"); for (String str : deque) { System.out.println(str); } } }
Set Interface
Set Interface di Java Collection hadir dalam paket java.util. Ini memperluas Interface collection. Set mewakili kumpulan elemen yang tidak diurutkan yang tidak memungkinkan kita untuk menyimpan item duplikat. Kami dapat menyimpan paling banyak satu nilai nol di Set. Set diimplementasikan oleh HashSet, LinkedHashSet, dan TreeSet.
- HashSet
HashSet Class mengimplementasikan Set Interface. Ini mewakili koleksi yang menggunakan tabel hash untuk penyimpanan. Hashing digunakan untuk menyimpan elemen di HashSet. Ini berisi barang-barang unik.
Perhatikan contoh berikut.
import java.util.*; public class JavaHashSetExample{ public static void main(String args[]){ HashSet<String> set=new HashSet<String>(); set.add("Candra"); set.add("Andi"); set.add("Budi"); Iterator<String> itr=set.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } }
- LinkedHashSet
LinkedHashSet Class merepresentasikan implementasi LinkedList dari Set Interface. Itu memperluas kelas HashSet dan mengimplementasikan interface Set. Seperti HashSet, Ini juga mengandung elemen unik. Itu mempertahankan urutan penyisipan dan mengizinkan elemen nol.
Perhatikan contoh berikut.
import java.util.*; public class JavaLinkedHashSetExample{ public static void main(String args[]){ LinkedHashSet<String> set=new LinkedHashSet<String>(); set.add("Candra"); set.add("Andi"); set.add("Budi"); Iterator<String> itr=set.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } }
- TreeSet
Java TreeSet Class mengimplementasikan Set Interface yang menggunakan Tree untuk penyimpanan. Seperti HashSet, TreeSet juga mengandung elemen unik. Namun, waktu akses dan pengambilan TreeSet cukup cepat. Elemen-elemen dalam TreeSet disimpan dalam urutan menaik.
Pertimbangkan contoh berikut:
import java.util.*; public class JavaTreeSetExample{ public static void main(String args[]){ TreeSet<String> set=new TreeSet<String>(); set.add("Candra"); set.add("Andi"); set.add("Budi"); Iterator<String> itr=set.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } }
Akhir
- Kerangka kerja Java Collection memberi pemrogram akses ke struktur data yang dikemas sebelumnya serta ke algoritma untuk memanipulasinya.
- Collection adalah objek yang dapat menyimpan referensi ke objek lain. Collection interface mendeklarasikan operasi yang dapat dilakukan pada setiap jenis koleksi.
- Interface dan class kerangka koleksi ada di paket java.util
- Kerangka Koleksi terpisah diperlukan untuk memiliki implementasi standar untuk objek.
- List Interface diimplementasikan oleh kelas LinkedList, ArrayList, Vectors, dan Stack .
- Queue Interface diimplementasikan oleh PriorityQueue , dan Array Deque
- Set Interface diimplementasikan oleh HashedSet, LinkedHashSet, dan TreeSet .
Temukan lebih banyak artikel seri belajar Java maupun bahasa pemrograman lainnya hanya di CODEKEY. Klik https://codekey.id/ sekarang juga untuk langsung belajar gratis. Sampai bertemu lagi!
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.