JavaRush /Blog Java /Random-MS /Coffee break #185. Panduan Komprehensif untuk Rangka Kerj...

Coffee break #185. Panduan Komprehensif untuk Rangka Kerja Koleksi Java

Diterbitkan dalam kumpulan
Sumber: Sederhana Tutorial ini akan membantu anda lebih memahami cara kerja pelbagai kelas dan antara muka yang disertakan dalam Rangka Kerja Koleksi Java. Coffee break #185.  Panduan Komprehensif untuk Rangka Kerja Koleksi Java - 1Koleksi Java ialah rangka kerja yang menyediakan seni bina bersatu untuk menyimpan dan mengurus sekumpulan objek. Pada terasnya, ia adalah satu set kelas dan antara muka yang menyediakan cara standard untuk mewakili dan memanipulasi koleksi objek dalam bahasa Java. Rangka kerja ini juga membantu dalam melaksanakan struktur data yang biasa digunakan seperti Senarai, Set dan Peta. Rangka Kerja Koleksi Java merangkumi beberapa antara muka dan kelas. Berikut adalah senarai sebahagian daripada mereka:

Antara muka

Antara muka dalam Rangka Kerja Koleksi Java mentakrifkan gelagat dan operasi umum yang boleh dilakukan pada koleksi. Ini termasuk menambah atau mengalih keluar item, mengulangi item dalam koleksi dan banyak lagi.
  • Koleksi : Antara muka akar dalam hierarki koleksi, mewakili sekumpulan objek yang dikenali sebagai elemen.
  • Senarai : Koleksi tertib elemen yang membenarkan pendua.
  • Set : koleksi elemen yang tidak membenarkan penduaan.
  • Peta : koleksi pasangan nilai kunci, di mana setiap kunci adalah unik.
  • Baris gilir : Baris gilir ialah struktur data yang digunakan untuk menyimpan elemen dalam First-In-First-Out (FIFO).
Senarai ini tidak termasuk semua, tetapi hanya antara muka yang paling banyak digunakan dalam Rangka Kerja Koleksi Java. Sekarang mari kita lihat dengan lebih dekat setiap daripada mereka.

Koleksi

Koleksi ialah sekumpulan objek yang dikenali sebagai elemennya. Ini ialah objek yang boleh mengandungi rujukan kepada objek lain. Antara muka Koleksi ialah punca hierarki koleksi. Ini ialah antara muka asas untuk semua koleksi dalam Rangka Kerja Koleksi Java. Ia mentakrifkan kaedah asas yang mesti dilaksanakan dalam semua koleksi, seperti add() , remove() dan contains() . Berikut ialah contoh penggunaan koleksi dalam Rangka Kerja Koleksi Java. Di sini antara muka Koleksi digunakan untuk menambah dan mengalih keluar elemen daripada 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 ialah:
Bilangan unsur: 4 Bilangan unsur: 3
Seperti yang anda lihat, antara muka Koleksi ialah cara yang mudah dan mudah untuk melaksanakan operasi biasa dengan koleksi objek. Ia sering digunakan sebagai titik permulaan apabila bekerja dengan koleksi di Jawa. Rangka Kerja Koleksi Java merangkumi beberapa antara muka yang mentakrifkan gelagat biasa untuk jenis koleksi yang berbeza. Sebahagian daripada mereka adalah sebahagian daripada kumpulan antara muka java.util.Collection :
  • java.util.List
  • java.util.set
  • java.util.Queue

java.util.List

Senarai ialah koleksi tertib objek, setiap elemen yang menduduki kedudukan tertentu dalam senarai. Antara muka Senarai memanjangkan antara muka Koleksi dan menambah beberapa kaedah untuk bekerja dengan senarai, seperti kaedah untuk mengakses elemen mengikut kedudukannya dalam senarai dan kaedah untuk mencari dan menyusun senarai. Senarai boleh mengandungi elemen pendua , elemen ini boleh diakses oleh kedudukannya dalam senarai. Berikut ialah contoh menggunakan antara muka Senarai untuk menambah, mengalih keluar dan mengakses item dalam senarai:
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, antara muka Senarai menyediakan cara yang mudah untuk bekerja dengan koleksi tersusun elemen. Ia biasanya digunakan apabila anda perlu mengekalkan susunan elemen dalam koleksi atau apabila anda perlu mengakses elemen mengikut indeksnya dalam senarai.

java.util.Set

Set dalam Rangka Kerja Koleksi Java ialah set unsur unik yang tidak tertib yang tidak membenarkan unsur pendua . Antara muka Set memanjangkan antara muka Koleksi dan menambah beberapa kaedah, seperti kaedah untuk menyemak sama ada elemen berada dalam set dan kaedah untuk menambah dan mengalih keluar elemen daripada set. Berikut ialah contoh menggunakan antara muka Set untuk menambah dan mengalih keluar elemen daripada set dalam Rangka Kerja Koleksi Java:
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:
Set mengandungi elemen 'Mac' Set tidak lagi mengandungi elemen 'April'

java.util.Queue

Baris Gilir ialah struktur data yang digunakan untuk menyimpan elemen dalam tertib masuk dahulu keluar (FIFO). Ini bermakna elemen pertama yang ditambahkan pada baris gilir akan menjadi elemen pertama yang dialih keluar. Berikut ialah contoh cara menggunakan baris gilir dalam Rangka Kerja Koleksi Java:
// 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, kami mencipta baris gilir rentetan dan menambah tiga elemen padanya: "epal", "pisang" dan "oren". Kami kemudian mencetak baris gilir untuk melihat keadaan semasanya. Seterusnya, kami mengalih keluar elemen dari baris gilir dan mencetaknya ke konsol. Akhir sekali, kami mencetak baris gilir yang dikemas kini untuk memastikan elemen yang dialih keluar tidak lagi berada dalam baris gilir.

Peta

Antara muka java.util.Map dalam Rangka Kerja Koleksi Java digunakan untuk memetakan kunci kepada nilai. Ia membolehkan anda menyimpan elemen sebagai pasangan nilai kunci dan menyediakan kaedah untuk mengakses, mengubah suai dan lelaran pada elemen dalam peta. Di bawah ialah contoh penggunaan antara muka 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, kami mencipta peta rentetan dan integer dengan menambahkan tiga elemen padanya: padanan "epal" 1, padanan 2 "pisang" dan padanan "oren" 3. Kami kemudian mencetak peta untuk melihat makna semasanya. Selepas itu, kami mendapat nilai kunci "pisang" dan mencetaknya ke konsol. Akhir sekali, kami mengalih keluar pasangan nilai kunci untuk "oren" daripada peta dan mencetak peta yang dikemas kini untuk melihat bahawa elemen yang dialih keluar itu tiada lagi.

Kelas

Kelas ialah pelaksanaan konkrit antara muka koleksi. Ia menyediakan pelaksanaan khusus bagi gelagat dan operasi biasa yang ditakrifkan oleh antara muka dalam rangka kerja.
  • ArrayList : Pelaksanaan antara muka Senarai dengan tatasusunan boleh ubah saiz.
  • LinkedList : senarai berganda, pelaksanaan antara muka Senarai dan Deque .
  • HashSet : Pelaksanaan Set yang menggunakan jadual hash untuk storan.
  • TreeSet : Pelaksanaan Set yang menggunakan pokok untuk penyimpanan.
  • HashMap : Pelaksanaan Map yang menggunakan jadual hash untuk penyimpanan.
Senarai di atas ialah salah satu kelas yang paling biasa digunakan dalam Rangka Kerja Koleksi Java. Sekarang mari kita lihat penjelasan terperinci tentang kelas-kelas ini.

ArrayList

Kelas java.util.ArrayList dalam koleksi Java digunakan untuk menyimpan tatasusunan elemen yang boleh diubah saiz dalam senarai. Ia ialah pelaksanaan yang digunakan secara meluas bagi antara muka java.util.List yang menggunakan tatasusunan untuk menyimpan elemen dan menyediakan kaedah yang cekap untuk mengakses, mengubah suai dan melelaran melalui elemen dalam senarai. Kelas java.util.ArrayList menyediakan akses rawak pantas kepada elemennya, tetapi sisipan dan penyingkiran perlahan pada kedudukan rawak. Di bawah ialah contoh menggunakan kelas ArrayList dalam Rangka Kerja Koleksi Java:
// Создаем 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 mencipta tatasusunan rentetan dan menambahkan tiga elemen padanya: "qa", "devops" dan "dev". Kami kemudian mencetak senarai tatasusunan untuk melihat keadaan semasanya. Selepas ini, kami mengakses elemen pada indeks 1 dan mencetaknya ke konsol. Akhir sekali, kami mengalih keluar elemen pada indeks 1 daripada senarai tatasusunan dan mencetak senarai tatasusunan yang dikemas kini untuk memastikan elemen yang dialih keluar tiada lagi dalam senarai.

LinkedList

Kelas java.util.LinkedList dalam Rangka Kerja Koleksi Java mewarisi daripada kelas AbstractList dan melaksanakan antara muka Senarai dan Deque . Ia menyediakan kaedah yang cekap untuk menambah, mengalih keluar dan mengakses elemen pada permulaan dan penghujung senarai. Kelas ini juga merupakan pelaksanaan antara muka Senarai , yang menggunakan senarai berpaut dua kali untuk menyimpan elemen. Ia menyediakan pemasukan dan pemadaman pantas pada kedudukan sewenang-wenangnya, tetapi akses rawak perlahan kepada elemennya. Berikut ialah contoh cara menggunakan kelas LinkedList dalam Rangka Kerja Koleksi Java:
// Создаем 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 mencipta senarai rentetan yang dipautkan dan menambahkan tiga elemen padanya: "selenium", "cypress" dan "penulis drama". Kami kemudian mencetak senarai terpaut untuk melihat keadaan semasanya. Seterusnya, kami menambah elemen "webdriver.io" pada permulaan senarai dan mencetak senarai terpaut yang dikemas kini. Akhir sekali, kami mengalih keluar elemen pertama daripada senarai dan mencetak senarai terpaut yang dikemas kini sekali lagi untuk melihat bahawa elemen yang dipadam tiada lagi dalam senarai.

HashSet

Kelas java.util.HashSet dalam Rangka Kerja Koleksi Java digunakan untuk menyimpan koleksi elemen unik dalam set. Ia menyediakan pelaksanaan berasaskan jadual hash antara muka java.util.Set . Ia juga menyediakan sisipan, pemadaman dan carian pantas, tetapi tidak mengekalkan susunan elemennya. Di bawah ialah contoh menggunakan kelas HashSet dalam Rangka Kerja Koleksi Java:
// Создаем 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 kami mencipta set rentetan cincang dan menambah tiga elemen padanya: "rose", "lily" dan "lotus". Kami kemudian cuba menambah elemen "mawar" sekali lagi, tetapi kerana set cincang tidak membenarkan pendua, ia tidak akan ditambah. Selepas ini kami mencetak set cincang untuk melihat keadaan semasanya. Kami kemudian mengalih keluar elemen "lily" daripada set dan mencetak cincang set yang dikemas kini untuk melihat bahawa elemen yang dialih keluar tidak lagi berada dalam set.

TreeSet

Kelas java.util.TreeSet dalam Rangka Kerja Koleksi Java digunakan untuk menyimpan koleksi elemen unik dalam set yang diisih dalam tertib menaik. Ia menyediakan pelaksanaan berasaskan pokok antara muka java.util.Set untuk menyimpan elemen tanpa membenarkan elemen pendua. Kelas menyediakan sisipan, pemadaman dan carian pantas, serta mengekalkan susunan unsurnya mengikut susunan semula jadi atau pembandingnya. Berikut ialah contoh cara menggunakan kelas TreeSet dalam Rangka Kerja Koleksi Java:
// Создаем 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, kami mencipta set pokok rentetan dan menambah tiga elemen kepadanya: "epal", "pisang" dan "oren". Kami kemudian cuba menambah elemen "epal" sekali lagi, tetapi kerana set pokok tidak membenarkan pendua, ia tidak akan ditambah. Selepas ini kami mencetak set pokok untuk melihat keadaan semasanya. Memandangkan set pokok diisih dalam tertib menaik, elemen akan dicetak dalam susunan: "epal", "pisang" dan "oren". Kami kemudian mengeluarkan elemen "pisang" daripada set dan mencetak set pokok yang dikemas kini untuk melihat bahawa elemen yang dialih keluar tidak lagi berada dalam set.

HashMap

Kelas java.util.HashMap dalam Rangka Kerja Koleksi Java digunakan untuk menyimpan pemetaan kunci kepada nilai dalam peta. Ia menyediakan pelaksanaan berasaskan jadual cincang antara muka java.util.Map dan membenarkan elemen disimpan sebagai pasangan nilai kunci. Kelas menyediakan sisipan, pemadaman dan carian pantas, tetapi tidak mengekalkan susunan elemennya. Berikut ialah contoh cara menggunakan kelas HashMap dalam Rangka Kerja Koleksi Java:
// Создаем 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, kami mencipta peta cincang rentetan integer dan menambah tiga elemen padanya: padanan "epal" 1, padanan "pisang" 2 dan padanan "oren" 3. Kami kemudian mencetak peta cincang untuk melihatnya Keadaan semasa. Selepas itu, kami mendapat nilai kunci "pisang" dan mencetaknya ke konsol. Akhir sekali, kami mengalih keluar pasangan nilai kunci untuk "oren" daripada peta cincang dan mencetak peta cincang yang dikemas kini untuk melihat bahawa elemen yang dialih keluar tiada lagi di dalamnya.

Kesimpulan

Rangka Kerja Koleksi Java ialah satu set kelas dan antara muka yang menyediakan cara standard untuk mewakili dan memanipulasi koleksi objek dalam bahasa pengaturcaraan Java. Ini membolehkan pembangun/penguji bekerja dengan koleksi objek dengan cara yang konsisten dan cekap. Rangka kerja memberikan mereka kaedah untuk menyimpan, mengakses dan mengurus item dalam koleksi, dan membolehkan mereka bertukar dengan mudah antara pelaksanaan koleksi yang berbeza bergantung pada keperluan aplikasi.
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION