JavaRush /Java Blog /Random-ID /Rehat kopi #185. Panduan Komprehensif untuk Java Collecti...

Rehat kopi #185. Panduan Komprehensif untuk Java Collection Framework

Dipublikasikan di grup Random-ID
Sumber: Medium Tutorial ini akan membantu Anda lebih memahami cara kerja berbagai kelas dan antarmuka yang termasuk dalam Java Collection Framework. Rehat kopi #185.  Panduan Komprehensif untuk Java Collection Framework - 1Java Collection adalah kerangka kerja yang menyediakan arsitektur terpadu untuk menyimpan dan mengelola sekelompok objek. Pada intinya, ini adalah sekumpulan kelas dan antarmuka yang menyediakan cara standar untuk merepresentasikan dan memanipulasi kumpulan objek dalam bahasa Java. Kerangka kerja ini juga membantu dalam mengimplementasikan struktur data yang umum digunakan seperti Daftar, Kumpulan, dan Peta. Java Collection Framework mencakup beberapa antarmuka dan kelas. Berikut ini daftar beberapa di antaranya:

Antarmuka

Antarmuka dalam Java Collection Framework menentukan perilaku umum dan operasi yang dapat dilakukan pada koleksi. Ini termasuk menambah atau menghapus item, mengulang item dalam koleksi, dan banyak lagi.
  • Koleksi : Antarmuka akar dalam hierarki koleksi, mewakili sekelompok objek yang dikenal sebagai elemen.
  • Daftar : Kumpulan elemen terurut yang memungkinkan duplikasi.
  • Set : kumpulan elemen yang tidak memungkinkan duplikasi.
  • Peta : kumpulan pasangan nilai kunci, yang setiap kuncinya unik.
  • Antrian : Antrian adalah struktur data yang digunakan untuk menyimpan elemen dalam First-In-First-Out (FIFO).
Daftar ini tidak mencakup semuanya, tetapi hanya antarmuka yang paling sering digunakan di Java Collection Framework. Sekarang mari kita lihat lebih dekat masing-masingnya.

Koleksi

Koleksi adalah sekelompok objek yang dikenal sebagai elemennya. Ini adalah objek yang bisa berisi referensi ke objek lain. Antarmuka Koleksi adalah akar hierarki koleksi. Ini adalah antarmuka dasar untuk semua koleksi di Java Collection Framework. Ini mendefinisikan metode dasar yang harus diterapkan di semua koleksi, seperti add() , hapus() dan berisi() . Berikut adalah contoh penggunaan koleksi di Java Collection Framework. Di sini antarmuka Koleksi digunakan untuk menambah dan menghapus elemen dari koleksi:
import java.util.Collection;
import java.util.ArrayList;

public class CollectionExample {
    public static void main(String[] args) {
        // Создаем новую коллекцию
        Collection<String> stringCollection = new ArrayList<>();

        // Добавляем несколько элементов в коллекцию
        stringCollection.add("hello");
        stringCollection.add("world");
        stringCollection.add("foo");
        stringCollection.add("bar");

        // Печатаем число элементов в коллекции
        System.out.println("Number of elements: " + stringCollection.size());

        // Удаляем элемент из коллекции
        stringCollection.remove("foo");

        // Опять печатаем число элементов в коллекции
        System.out.println("Number of elements: " + stringCollection.size());
    }
}
Outputnya adalah:
Jumlah elemen: 4 Jumlah elemen: 3
Seperti yang Anda lihat, antarmuka Koleksi adalah cara sederhana dan nyaman untuk melakukan operasi umum dengan kumpulan objek. Ini sering digunakan sebagai titik awal ketika bekerja dengan koleksi di Java. Java Collection Framework mencakup beberapa antarmuka yang mendefinisikan perilaku umum untuk berbagai jenis koleksi. Beberapa di antaranya adalah bagian dari grup antarmuka java.util.Collection :
  • java.util.Daftar
  • java.util.set
  • java.util.Antrian

java.util.Daftar

Daftar adalah kumpulan objek yang diurutkan, yang setiap elemennya menempati posisi tertentu dalam daftar. Antarmuka Daftar memperluas antarmuka Koleksi dan menambahkan beberapa metode untuk bekerja dengan daftar, seperti metode untuk mengakses elemen berdasarkan posisinya dalam daftar dan metode untuk mencari dan mengurutkan daftar. Daftar dapat berisi elemen duplikat , elemen ini dapat diakses berdasarkan posisinya dalam daftar. Berikut ini contoh penggunaan antarmuka Daftar untuk menambah, menghapus, dan mengakses item dalam daftar:
import java.util.List;
import java.util.ArrayList;

public class ListExample {
    public static void main(String[] args) {
        // Создаем новый список
        List<String> stringList = new ArrayList<>();

        // Добавляем несколько элементов в список
        stringList.add("India");
        stringList.add("UAE");
        stringList.add("London");
        stringList.add("US");

        // Печатаем первый элемент в списке
        System.out.println("First element: " + stringList.get(0));

        // Удаляем второй элемент из списка
        stringList.remove(1);

        // Печатаем второй элемент в списке
        System.out.println("Second element: " + stringList.get(1));
    }
}
Kesimpulan:
Elemen pertama: India Elemen kedua: London
Seperti yang ditunjukkan di atas, antarmuka Daftar menyediakan cara mudah untuk bekerja dengan kumpulan elemen yang diurutkan. Biasanya digunakan ketika Anda perlu menjaga urutan elemen dalam koleksi atau ketika Anda perlu mengakses elemen berdasarkan indeksnya dalam daftar.

java.util.Set

Kumpulan dalam Java Collection Framework adalah kumpulan elemen unik tidak berurutan yang tidak mengizinkan elemen duplikat . Antarmuka Set memperluas antarmuka Koleksi dan menambahkan beberapa metode, seperti metode untuk memeriksa apakah suatu elemen ada dalam suatu himpunan dan metode untuk menambah dan menghapus elemen dari suatu himpunan. Berikut adalah contoh penggunaan antarmuka Set untuk menambah dan menghapus elemen dari suatu set di Java Collection Framework:
import java.util.Set;
import java.util.HashSet;

public class SetExample {
    public static void main(String[] args) {
        // Создаем новый set
        Set<String> stringSet = new HashSet<>();

        // Добавляем несколько элементов в set
        stringSet.add("Jan");
        stringSet.add("Feb");
        stringSet.add("March");
        stringSet.add("April");

        // Проверяем наличие в set element "March"
        if (stringSet.contains("March")) {
            System.out.println("The set contains the element 'March'");
        }

        // Удаляем элемент "April" из set
        stringSet.remove("April");

        // Опять проверяем наличие element "April" в set
        if (!stringSet.contains("April")) {
            System.out.println("The set no longer contains the element 'April'");
        }
    }
}
Kesimpulan:
Himpunan mengandung unsur 'Maret' Himpunan tidak lagi mengandung unsur 'April'

java.util.Antrian

Antrian adalah struktur data yang digunakan untuk menyimpan elemen dengan urutan masuk pertama keluar pertama (FIFO). Artinya elemen pertama yang ditambahkan ke antrian akan menjadi elemen pertama yang dihapus. Berikut ini contoh cara menggunakan antrian di Java Collection Framework:
// Creation очереди
Queue<String> queue = new LinkedList<>();

// Добавление элементов в очередь
queue.add("apple");
queue.add("banana");
queue.add("orange");
// Печатаем очередь
System.out.println("Queue: " + queue);
// Удаляем элемент из очереди
String element = queue.remove();
System.out.println("Removed element: " + element);
// Печатаем обновленную очередь
System.out.println("Queue: " + queue);
Dalam contoh ini, kita membuat antrian string dan menambahkan tiga elemen ke dalamnya: “apel”, “pisang”, dan “oranye”. Kami kemudian mencetak antrian untuk melihat statusnya saat ini. Selanjutnya, kami menghapus elemen dari antrian dan mencetaknya ke konsol. Terakhir, kami mencetak antrian yang diperbarui untuk memastikan bahwa elemen yang dihapus tidak lagi ada dalam antrian.

Peta

Antarmuka java.util.Map di Java Collection Framework digunakan untuk memetakan kunci ke nilai. Ini memungkinkan Anda menyimpan elemen sebagai pasangan nilai kunci dan menyediakan metode untuk mengakses, memodifikasi, dan mengulangi elemen dalam peta. Di bawah ini adalah contoh penggunaan antarmuka Peta :
// Создаем Map
 Map<String, Integer> map = new  HashMap <>();
// Добавляем элементы в Map
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
// Печать Map
 System.out.println("Map: " + map);
// Получаем meaning для определенного ключа
int  value  = map.get( "banana" );
System.out.println("Value for 'banana': " + value);
// Удаляем элемент из Map
map.remove("orange");
// Печать обновленной карты
 System.out.println( "Map: " + map);
Dalam contoh ini, kita membuat peta string dan bilangan bulat dengan menambahkan tiga elemen ke dalamnya: “apel” cocok dengan 1, “pisang” cocok dengan 2, dan “oranye” cocok dengan 3. Kami kemudian mencetak peta untuk melihat maknanya saat ini. Setelah itu, kami mendapatkan nilai kunci “pisang” dan mencetaknya ke konsol. Terakhir, kami menghapus pasangan nilai kunci untuk “oranye” dari peta dan mencetak peta yang diperbarui untuk melihat bahwa elemen yang dihapus sudah tidak ada lagi.

Kelas

Kelas adalah implementasi konkret dari antarmuka koleksi. Ini menyediakan implementasi spesifik dari perilaku dan operasi umum yang ditentukan oleh antarmuka dalam kerangka kerja.
  • ArrayList : Implementasi antarmuka Daftar dengan array yang dapat diubah ukurannya.
  • LinkedList : daftar tertaut ganda, implementasi antarmuka List dan Deque .
  • HashSet : Implementasi Set yang menggunakan tabel hash untuk penyimpanan.
  • TreeSet : Implementasi Set yang menggunakan pohon untuk penyimpanan.
  • HashMap : Implementasi Map yang menggunakan tabel hash untuk penyimpanan.
Daftar di atas adalah salah satu kelas yang paling umum digunakan dalam Java Collection Framework. Sekarang mari kita lihat penjelasan detail dari kelas-kelas tersebut.

Daftar Array

Kelas java.util.ArrayList dalam koleksi Java digunakan untuk menyimpan array elemen yang dapat diubah ukurannya dalam daftar. Ini adalah implementasi antarmuka java.util.List yang banyak digunakan yang menggunakan array untuk menyimpan elemen dan menyediakan metode efisien untuk mengakses, memodifikasi, dan mengulangi elemen dalam daftar. Kelas java.util.ArrayList menyediakan akses acak yang cepat ke elemen-elemennya, tetapi memperlambat penyisipan dan penghapusan pada posisi acak. Di bawah ini adalah contoh penggunaan kelas ArrayList di Java Collection Framework:
// Создаем array list
List<String> list = new ArrayList<>();
// Добавляем элементы в array list
list.add("qa");
list.add("devops");
list.add("dev");
// Печатаем array list
System.out.println("Array list: " + list);
// Доступ к элементу по определенному индексу
String element = list.get(1);
System.out.println("Element at index 1: " + element);
// Удаление element из the array list
list.remove(1);
// Print the updated array list
System.out.println("Array list: " + list);
Seperti yang Anda lihat, kami membuat array string dan menambahkan tiga elemen ke dalamnya: “qa”, “devops” dan “dev”. Kami kemudian mencetak daftar array untuk melihat statusnya saat ini. Setelah ini, kita mengakses elemen di indeks 1 dan mencetaknya ke konsol. Terakhir, kami menghapus elemen pada indeks 1 dari daftar array dan mencetak daftar array yang diperbarui untuk memastikan bahwa elemen yang dihapus tidak lagi ada dalam daftar.

Daftar Tertaut

Kelas java.util.LinkedList di Java Collection Framework mewarisi dari kelas AbstrakList dan mengimplementasikan antarmuka List dan Deque . Ini menyediakan metode yang efisien untuk menambah, menghapus, dan mengakses elemen di awal dan akhir daftar. Kelas ini juga merupakan implementasi dari antarmuka Daftar , yang menggunakan daftar tertaut ganda untuk menyimpan elemen. Ini menyediakan penyisipan dan penghapusan cepat pada posisi sewenang-wenang, tetapi memperlambat akses acak ke elemen-elemennya. Berikut adalah contoh cara menggunakan kelas LinkedList di Java Collection Framework:
// Создаем linked list
List<String> list = new LinkedList<>();
// Добавляем элементы в linked list
list.add("selenium");
list.add("cypress");
list.add("playwright");
// Печатаем linked list
System.out.println("Linked list: " + list);
// Добавляем элемент в начало списка
list.add(0, "webdriver.io");
// Печатаем обновленный linked list
System.out.println("Linked list: " + list);
// Удаляем первый элемент в списке
list.remove(0);
// Еще раз печатаем обновленный linked list
System.out.println("Linked list: " + list);
Dalam contoh ini, kami membuat daftar string yang tertaut dan menambahkan tiga elemen ke dalamnya: “selenium”, “cypress”, dan “penulis drama”. Kami kemudian mencetak daftar tertaut untuk melihat statusnya saat ini. Selanjutnya, kita menambahkan elemen “webdriver.io” ke awal daftar dan mencetak daftar tertaut yang diperbarui. Terakhir, kami menghapus elemen pertama dari daftar dan mencetak lagi daftar tertaut yang diperbarui untuk melihat bahwa elemen yang dihapus tidak lagi ada dalam daftar.

Set Hash

Kelas java.util.HashSet di Java Collection Framework digunakan untuk menyimpan kumpulan elemen unik dalam satu set. Ini menyediakan implementasi antarmuka java.util.Set berbasis tabel hash . Ini juga menyediakan penyisipan, penghapusan, dan pencarian cepat, tetapi tidak menjaga urutan elemen-elemennya. Di bawah ini adalah contoh penggunaan kelas HashSet di Java Collection Framework:
// Создаем hash set
Set<String> set = new HashSet<>();

// Добавляем элементы в hash set
set.add("rose");
set.add("lily");
set.add("lotus");
// Попытка добавить повторяющийся элемент
set.add("rose");
// Печатаем hash set
System.out.println("Hash set: " + set);
// Удаляем элемент из hash set
set.remove("lily");
// Печать обновленного hash set
System.out.println("Hash set: " + set);
Di sini kita membuat serangkaian string hash dan menambahkan tiga elemen ke dalamnya: “rose”, “lily” dan “lotus”. Kami kemudian mencoba menambahkan elemen "mawar" lagi, tetapi karena kumpulan hash tidak mengizinkan duplikat, maka elemen tersebut tidak akan ditambahkan. Setelah ini kami mencetak set hash untuk melihat statusnya saat ini. Kami kemudian menghapus elemen “lily” dari set dan mencetak hash yang diperbarui dari set tersebut untuk melihat bahwa elemen yang dihapus tidak lagi ada di set.

Set Pohon

Kelas java.util.TreeSet di Java Collection Framework digunakan untuk menyimpan kumpulan elemen unik dalam satu set yang diurutkan dalam urutan menaik. Ini menyediakan implementasi antarmuka java.util.Set berbasis pohon untuk menyimpan elemen tanpa mengizinkan elemen duplikat. Kelas menyediakan penyisipan, penghapusan, dan pencarian cepat, serta mempertahankan urutan elemen-elemennya sesuai dengan tatanan alami atau pembandingnya. Berikut ini contoh cara menggunakan kelas TreeSet di Java Collection Framework:
// Создаем tree set
Set<String> set = new TreeSet<>();

// Добавляем элементы в tree set
set.add("apple");
set.add("banana");
set.add("orange");
// Попытка добавить повторяющийся элемент
set.add("apple");
// Печатаем tree set
System.out.println("Tree set: " + set);
// Удаляем элемент из tree set
set.remove("banana");
// Печатаем обновленный tree set
System.out.println("Tree set: " + set);
Dalam contoh ini, kita membuat kumpulan string pohon dan menambahkan tiga elemen ke dalamnya: “apel”, “pisang”, dan “oranye”. Kami kemudian mencoba menambahkan elemen "apel" lagi, tetapi karena kumpulan pohon tidak mengizinkan duplikat, maka elemen tersebut tidak akan ditambahkan. Setelah ini kami mencetak kumpulan pohon untuk melihat keadaannya saat ini. Karena kumpulan pohon diurutkan dalam urutan menaik, elemen akan dicetak dalam urutan: “apel”, “pisang”, dan “jeruk”. Kami kemudian menghapus elemen “pisang” dari kumpulan dan mencetak kumpulan pohon yang diperbarui untuk melihat bahwa elemen yang dihapus tidak lagi ada di kumpulan.

Peta Hash

Kelas java.util.HashMap di Java Collection Framework digunakan untuk menyimpan pemetaan kunci ke nilai dalam peta. Ini menyediakan implementasi antarmuka java.util.Map berbasis tabel hash dan memungkinkan elemen disimpan sebagai pasangan nilai kunci. Kelas menyediakan penyisipan, penghapusan, dan pencarian cepat, tetapi tidak mempertahankan urutan elemen-elemennya. Berikut ini contoh cara menggunakan kelas HashMap di Java Collection Framework:
// Создаем hash map
Map<String, Integer> map = new HashMap<>();

// Добавляем элементы в hash map
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
// Печатаем hash map
System.out.println("Hash map: " + map);
// Получаем meaning для определенного ключа
int value = map.get("banana");
System.out.println("Value for 'banana': " + value);
// Удаляем элемент из hash map
map.remove("orange");
// Печатаем обновленный hash map
System.out.println("Hash map: " + map);
Dalam contoh ini, kita membuat peta hash dari string bilangan bulat dan menambahkan tiga elemen ke dalamnya: “apel” cocok dengan 1, “pisang” cocok dengan 2, dan “oranye” cocok dengan 3. Kami kemudian mencetak peta hash untuk melihatnya Status saat ini. Setelah itu, kami mendapatkan nilai kunci “pisang” dan mencetaknya ke konsol. Terakhir, kami menghapus pasangan nilai kunci untuk “oranye” dari peta hash dan mencetak peta hash yang diperbarui untuk melihat bahwa elemen yang dihapus tidak lagi ada di dalamnya.

Kesimpulan

Java Collection Framework adalah sekumpulan kelas dan antarmuka yang menyediakan cara standar untuk merepresentasikan dan memanipulasi kumpulan objek dalam bahasa pemrograman Java. Hal ini memungkinkan pengembang/penguji untuk bekerja dengan kumpulan objek secara konsisten dan efisien. Kerangka kerja ini memberi mereka metode untuk menyimpan, mengakses, dan mengelola item dalam koleksi, dan memungkinkan mereka beralih dengan mudah di antara implementasi koleksi yang berbeda tergantung pada kebutuhan aplikasi.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION