JavaRush /Blog Jawa /Random-JV /Ngopi #185. Pandhuan Komprehensif kanggo Kerangka Koleksi...

Ngopi #185. Pandhuan Komprehensif kanggo Kerangka Koleksi Jawa

Diterbitake ing grup
Sumber: Sedheng Tutorial iki bakal mbantu sampeyan luwih ngerti cara kerja saka macem-macem kelas lan antarmuka sing kalebu ing Java Collection Framework. Ngopi #185.  Pandhuan Komprehensif kanggo Kerangka Koleksi Jawa - 1Java Collection minangka kerangka sing nyedhiyakake arsitektur terpadu kanggo nyimpen lan ngatur klompok obyek. Intine, iki minangka kumpulan kelas lan antarmuka sing nyedhiyakake cara standar kanggo makili lan ngapusi koleksi obyek ing basa Jawa. Kerangka kasebut uga mbantu ngetrapake struktur data sing umum digunakake kayata List, Set lan Map. Kerangka Koleksi Java kalebu sawetara antarmuka lan kelas. Ing ngisor iki dhaptar sawetara:

Antarmuka

Antarmuka ing Java Collection Framework nemtokake prilaku lan operasi umum sing bisa ditindakake ing koleksi. Iki kalebu nambah utawa mbusak item, mbaleni item ing koleksi, lan liya-liyane.
  • Koleksi : Antarmuka ROOT ing hirarki koleksi, makili klompok obyek sing dikenal minangka unsur.
  • Dhaftar : Koleksi tertib unsur sing ngidini duplikasi.
  • Set : kumpulan unsur sing ora ngidini duplikasi.
  • Peta : kumpulan pasangan kunci-nilai, ing ngendi saben kunci unik.
  • Antrian : Antrian minangka struktur data sing digunakake kanggo nyimpen unsur ing First-In-First-Out (FIFO).
Dhaptar iki ora kalebu kabeh, nanging mung antarmuka sing paling akeh digunakake ing Java Collection Framework. Saiki ayo padha nliti saben wong.

Koleksi

Koleksi minangka klompok obyek sing dikenal minangka unsur. Iki minangka obyek sing bisa ngemot referensi kanggo obyek liyane. Antarmuka Koleksi minangka oyod saka hirarki koleksi. Iki minangka antarmuka dhasar kanggo kabeh koleksi ing Java Collection Framework. Iku nemtokake cara dhasar sing kudu dileksanakake ing kabeh koleksi, kayata nambah () , mbusak () lan ngandhut () . Punika conto nggunakake koleksi ing Java Collection Framework. Ing kene antarmuka Koleksi digunakake kanggo nambah lan mbusak unsur saka 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());
    }
}
Output yaiku:
Jumlah unsur: 4 Jumlah unsur: 3
Kaya sing sampeyan ngerteni, antarmuka Koleksi minangka cara sing gampang lan trep kanggo nindakake operasi umum kanthi koleksi obyek. Asring digunakake minangka titik wiwitan nalika nggarap koleksi ing Jawa. Java Collection Framework kalebu sawetara antarmuka sing nemtokake prilaku umum kanggo macem-macem jinis koleksi. Sawetara iku bagéan saka grup antarmuka java.util.Collection :
  • java.util.List
  • java.util.set
  • java.util.Queue

java.util.List

Dhaptar minangka koleksi obyek sing diurutake, saben unsur manggoni posisi tartamtu ing dhaptar. Antarmuka List ngluwihi antarmuka Koleksi lan nambah sawetara cara kanggo nggarap dhaptar, kayata cara kanggo ngakses unsur miturut posisi ing dhaptar lan cara kanggo nggoleki lan ngurutake dhaptar. Dhaptar bisa ngemot unsur duplikat , unsur kasebut bisa diakses kanthi posisi ing dhaptar. Iki conto nggunakake antarmuka List kanggo nambah, mbusak, lan ngakses item ing dhaptar:
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:
Unsur pisanan: India Unsur kapindho: London
Kaya sing dituduhake ing ndhuwur, antarmuka List nyedhiyakake cara sing trep kanggo nggarap koleksi unsur sing diurutake. Biasane digunakake nalika sampeyan kudu njaga urutan unsur ing koleksi utawa nalika sampeyan kudu ngakses unsur miturut indeks ing dhaptar.

java.util.Set

A Set ing Java Collection Framework minangka kumpulan unsur unik sing ora diurutake sing ora ngidini unsur duplikat . Antarmuka Set ngluwihi antarmuka Koleksi lan nambah sawetara cara, kayata cara kanggo mriksa apa unsur ana ing pesawat lan cara kanggo nambah lan mbusak unsur saka pesawat. Iki minangka conto nggunakake antarmuka Setel kanggo nambah lan mbusak unsur saka set ing Kerangka Koleksi Jawa:
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 kasebut ngemot unsur 'Maret' Set kasebut ora ana maneh unsur 'April'

java.util.Queue

Antrian minangka struktur data sing digunakake kanggo nyimpen unsur ing urutan pisanan-in-first-out (FIFO). Iki tegese unsur pisanan sing ditambahake ing antrian bakal unsur pisanan dibusak. Punika conto carane nggunakake antrian ing 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);
Ing conto iki, kita nggawe antrian senar lan nambah telung unsur: "apel", "pisang" lan "oranye". Kita banjur nyithak antrian kanggo ndeleng kahanan saiki. Sabanjure, kita mbusak unsur saka antrian lan print menyang console. Akhire, kita print antrian dianyari kanggo mesthekake yen unsur dibusak ora ana maneh ing antrian.

peta

Antarmuka java.util.Map ing Java Collection Framework digunakake kanggo peta tombol kanggo nilai. Ngidini sampeyan nyimpen unsur minangka pasangan kunci-nilai lan menehi cara kanggo ngakses, ngowahi, lan ngulang unsur ing peta. Ing ngisor iki conto nggunakake 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);
Ing conto iki, kita nggawe peta strings lan integers kanthi nambahake telung unsur: "apel" peta kanggo 1, "pisang" maps kanggo 2, lan "oranye" peta kanggo 3. Kita banjur print peta kanggo ndeleng sawijining saiki. artine. Sawisé iku, kita entuk nilai tombol "pisang" lan dicithak menyang konsol. Akhire, kita mbusak pasangan tombol-nilai kanggo "oranye" saka peta lan print peta dianyari kanggo ndeleng sing unsur dibusak ora ana maneh.

Kelas

Kelas minangka implementasi konkrit saka antarmuka koleksi. Menehi implementasine tartamtu saka prilaku umum lan operasi ditetepake dening antarmuka ing framework.
  • ArrayList : Implementasi antarmuka List kanthi array sing bisa diowahi ukurane.
  • LinkedList : dhaptar sing disambung kaping pindho, implementasi antarmuka List lan Deque .
  • HashSet : Implementasine Set sing nggunakake tabel hash kanggo panyimpenan.
  • TreeSet : Implementasine Set sing nggunakake wit kanggo panyimpenan.
  • HashMap : Implementasi Peta sing nggunakake tabel hash kanggo panyimpenan.
Dhaptar ing ndhuwur minangka salah sawijining kelas sing paling umum digunakake ing Kerangka Koleksi Jawa. Saiki ayo ndeleng panjelasan rinci babagan kelas kasebut.

ArrayList

Kelas java.util.ArrayList ing koleksi Java digunakake kanggo nyimpen macem-macem unsur sing bisa diowahi ukurane ing dhaptar. Iku implementasine akeh digunakake saka antarmuka java.util.List sing nggunakake Uploaded kanggo nyimpen unsur lan nyedhiyani cara efisien kanggo ngakses, ngowahi, lan iterasi liwat unsur ing dhaftar. Kelas java.util.ArrayList menehi akses acak cepet kanggo unsur sawijining, nanging selipan alon lan njabut ing posisi acak. Ing ngisor iki conto nggunakake kelas ArrayList ing 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);
Kaya sing sampeyan ngerteni, kita nggawe macem-macem senar lan nambah telung unsur: "qa", "devops" lan "dev". Kita banjur nyithak dhaptar array kanggo ndeleng kahanan saiki. Sawise iki, kita ngakses unsur ing indeks 1 lan print menyang console. Akhire, kita mbusak unsur ing indeks 1 saka dhaftar Uploaded lan print dhaftar Uploaded dianyari kanggo mesthekake yen unsur dibusak ora ana maneh ing dhaftar.

LinkedList

Kelas java.util.LinkedList ing Kerangka Koleksi Java entuk warisan saka kelas AbstractList lan ngetrapake antarmuka List lan Deque . Iki nyedhiyakake cara sing efisien kanggo nambah, mbusak, lan ngakses unsur ing wiwitan lan pungkasan dhaptar. Kelas iki uga minangka implementasi antarmuka Dhaftar , sing nggunakake dhaptar sing disambung kaping pindho kanggo nyimpen unsur. Nyedhiyakake sisipan lan pambusakan kanthi cepet ing posisi sing sewenang-wenang, nanging akses acak alon menyang unsur kasebut. Iki minangka conto carane nggunakake kelas LinkedList ing Kerangka 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);
Ing conto iki, kita nggawe dhaptar senar sing disambung lan nambahake telung unsur: "selenium", "cypress" lan "playwright". Kita banjur nyithak dhaptar sing disambung kanggo ndeleng kahanan saiki. Sabanjure, kita nambah unsur "webdriver.io" ing wiwitan dhaptar lan nyithak dhaptar sing disambung sing dianyari. Pungkasan, kita mbusak unsur pisanan saka dhaptar lan nyithak dhaptar link sing dianyari maneh kanggo ndeleng manawa unsur sing wis dibusak ora ana ing dhaptar.

HashSet

Kelas java.util.HashSet ing Java Collection Framework digunakake kanggo nyimpen koleksi unsur unik ing pesawat. Iku menehi implementasine basis tabel hash saka antarmuka java.util.Set . Uga nyedhiyakake sisipan, pambusakan lan telusuran kanthi cepet, nanging ora njaga urutan unsur kasebut. Ing ngisor iki conto nggunakake kelas HashSet ing Kerangka 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);
Ing kene kita nggawe set strings hash lan nambah telung unsur: "rose", "lily" lan "lotus". Kita banjur nyoba nambah unsur "mawar" maneh, nanging wiwit set hash ora ngidini duplikat, ora bakal ditambahake. Sawise iki, kita nyithak set hash kanggo ndeleng kahanan saiki. Kita banjur mbusak unsur "lily" saka pesawat lan print hash dianyari pesawat kanggo ndeleng sing unsur dibusak ora ana maneh ing pesawat.

PohonSet

Kelas java.util.TreeSet ing Java Collection Framework digunakake kanggo nyimpen koleksi unsur unik ing pesawat sing diurutake ing urutan munggah. Menehi implementasine basis wit saka antarmuka java.util.Set kanggo nyimpen unsur tanpa ngidini unsur duplikat. Kelas kasebut nyedhiyakake sisipan, pambusakan, lan telusuran kanthi cepet, lan njaga urutan unsur-unsur kasebut miturut urutan alami utawa pembanding. Punika conto carane nggunakake kelas TreeSet ing 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);
Ing conto iki, kita nggawe set wit saka strings lan nambah telung unsur: "apel", "pisang" lan "oranye". Kita banjur nyoba nambah unsur "apel" maneh, nanging wiwit pesawat wit ora ngidini duplikat, ora bakal ditambahake. Sawise iki, kita nyithak set wit kanggo ndeleng kahanan saiki. Wiwit set wit diurutake kanthi urutan munggah, unsur bakal dicithak kanthi urutan: "apel", "pisang" lan "oranye". Kita banjur mbusak unsur "pisang" saka pesawat lan print pesawat dianyari wit kanggo ndeleng sing unsur dibusak ora ana maneh ing pesawat.

HashMap

Kelas java.util.HashMap ing Java Collection Framework digunakake kanggo nyimpen pemetaan tombol kanggo nilai ing peta. Nyedhiyakake implementasi basis tabel hash saka antarmuka java.util.Map lan ngidini unsur bisa disimpen minangka pasangan kunci-nilai. Kelas kasebut nyedhiyakake sisipan, pambusakan, lan telusuran kanthi cepet, nanging ora njaga urutan unsur-unsur kasebut. Iki minangka conto carane nggunakake kelas HashMap ing Kerangka 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);
Ing conto iki, kita nggawe peta hash saka strings integer lan nambah telung unsur: "apel" cocog 1, "pisang" cocog 2, lan "oranye" cocog 3. Kita banjur print peta hash kanggo ndeleng negara Saiki. Sawisé iku, kita entuk nilai tombol "pisang" lan dicithak menyang konsol. Pungkasan, kita mbusak pasangan kunci-nilai kanggo "oranye" saka peta hash lan nyetak peta hash sing dianyari kanggo ndeleng manawa unsur sing dibusak ora ana maneh.

Kesimpulan

Java Collection Framework minangka kumpulan kelas lan antarmuka sing nyedhiyakake cara standar kanggo makili lan ngapusi koleksi obyek ing basa pamrograman Jawa. Iki ngidini pangembang / penguji bisa nggarap koleksi obyek kanthi cara sing konsisten lan efisien. Kerangka kasebut menehi cara kanggo nyimpen, ngakses, lan ngatur item ing koleksi, lan ngidini kanthi gampang ngalih ing antarane implementasi koleksi sing beda-beda gumantung saka syarat aplikasi.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION