Apa Koleksi ing Jawa?
Koleksi ing basa Jawa diwakili minangka wadhah sing nglumpukake kabeh unsur dadi siji. Contone , folder mail (klompok email), direktori telpon (pemetaan jeneng menyang nomer telpon).Apa iku Framework?
Kerangka minangka dhasar utawa tata letak dhasar sing sampeyan miwiti nggarap kanthi nggunakake macem-macem kelas lan antarmuka sing kasedhiya. Contone , Laravel minangka salah sawijining kerangka PHP sing paling misuwur sing nyedhiyakake kerangka dhasar kanggo aplikasi sampeyan.Apa Kerangka Koleksi ing Jawa?
Kabeh obyek diklompokaké dadi siji obyek bebarengan karo arsitektur sing makili lan menehi cara beda kanggo manipulasi koleksi. Dadi kerangka Koleksi ing Jawa nyedhiyakake struktur data sing beda-beda sing wis ditindakake kanggo nyimpen data lan metode, kanggo ngapusi kanthi fitur kayata ngurutake, nggoleki, mbusak, lan nyisipake . Contone , sampeyan pengin ngleksanakake sistem kanggo sawetara perusahaan acak kanggo nambah layanan kanggo pelanggan, adhedhasar pisanan teka pisanan ngawula basis. Iki uga dikenal minangka implementasi FIFO (first in first out). Saiki kita kudu ngetrapake struktur data iki lan banjur gunakake kanggo nggayuh tujuan kita. Framework Collections nyedhiyakake antarmuka Antrian sing mung kudu diimpor tinimbang dileksanakake, banjur gunakake, lan kita wis rampung. Implementasi : Sampeyan bisa ngimpor kabeh koleksi kanthi nggunakake baris ing ngisor iki:
import java.util.*;
Yen sampeyan pengin ngimpor koleksi tartamtu, gunakake jeneng paket sing tepat, kayata:
import java.util.LinkedList;
Paedah Kerangka Koleksi ing Jawa
Wis keuntungan ing ngisor iki.- Wis Dilaksanakake (ngirit wektu).
- Efisiensi Kinerja (kacepetan lan kualitas).
- Nyuda upaya kanggo sinau lan nggunakake API anyar.
Apa Hierarki Kerangka Koleksi?
Saiki ayo ndeleng hirarki koleksi nanging pisanan, kita kudu ngerti komponen penting saka kerangka iki.- Antarmuka
- Kelas (implementasi)
- Algoritma
Hierarki Kerangka Koleksi

- Koleksi, Set, Antrian, lan Dhaptar kabeh iku antarmuka. Set, Queue lan List ditambahake dening antarmuka Koleksi.
- PriorityQueue, HashSet, LinkedList, lan Stack kabeh minangka kelas utawa implementasi antarmuka kasebut.
- Iku ora prentah sing kelas ngleksanakake mung siji antarmuka. LinkedList uga ngleksanakake antarmuka Deque, contone.
Jinis Koleksi
Framework koleksi Jawa wis akèh jinis koleksi ing kanggo ngurangi efforts kita. Ing ngisor iki dhaptar sawetara koleksi:- Kelas ArrayList
- Kelas LinkedList
- Dhaftar Antarmuka
- Setel Antarmuka
- Antarmuka antrian
- Antarmuka Peta
- Kelas PriorityQueue
- Kelas HashMap
- Antarmuka sing bisa dibandhingake
- Kelas LinkedHashMap
- Kelas TreeMap
- HashTable
Antarmuka Koleksi
Ing kene kita bakal ngrembug sawetara antarmuka koleksi umum lan banjur sawetara cara sing ditindakake dening kelas kasebut.Antarmuka Koleksi
Iki minangka dhasar dhasar kanggo kerangka Koleksi amarga nyedhiyakake kabeh cara sing dibutuhake kanggo implementasine. Peta minangka siji-sijine struktur data sing ora ngleksanakake nanging sing isih ana kabeh ngetrapake metode kasebut. Antarmuka iki nduweni cara kanggo mangerteni ukuran koleksi, lan apa obyek ana ing koleksi, nambah utawa mbusak obyek saka koleksi.Antarmuka Iterable
Iku antarmuka ROOT kanggo framework Collections minangka lengkap dening antarmuka Koleksi kang dipun ginakaken dening kabeh kelas. Iku ngasilake iterator kanggo koleksi tartamtu kanggo iterate liwat.Antarmuka antrian
Antrian digunakake kanggo nahan unsur nanging ora bisa diproses. Ngleksanakake operasi koleksi dhasar, uga menehi cara selipan lan ekstraksi tambahan.Setel Antarmuka
Set digunakake kanggo nahan unsur unik ing njero. Ora tau ngemot unsur duplikat lan model abstraksi set matematika kanggo makili set kayata proses sing mlaku ing mesin.Dhaftar Antarmuka
Dhaptar minangka koleksi sing diurutake kadhangkala disebut urutan sing bisa ngemot unsur duplikat. Nyedhiyakake kontrol kanggo pangguna kanggo nganyari utawa mbusak unsur tartamtu, nglebokake unsur ing titik tartamtu kanthi nggunakake nilai indeks integer. LinkedList lan ArrayList minangka kelas implementasi antarmuka List.Antarmuka Deque
Deque stands for antrian pindho rampung kang tegese kita bisa nindakake operasi ing loro ends. Kita bisa masang lan mbusak unsur saka loro ends. Antarmuka Deque ngluwihi antarmuka antrian. ArrayDeque lan LinkedList loro-lorone ngleksanakake antarmuka Deque. Iki menehi cara kanggo nglebokake, mbusak, lan mriksa conto saka loro ujung.Antarmuka Peta
Antarmuka peta uga minangka bagéan saka kerangka Koleksi nanging ora ngluwihi antarmuka Koleksi. Iki digunakake kanggo nyimpen pasangan kunci-nilai. Implementasi utamane yaiku HashMap, TreeMap, lan LinkesHashMap sing padha ing aspek tartamtu karo HashSet, TreeSet, lan LinkedHashSet. Iku tansah ngemot kunci unik nanging nilai bisa diduplikasi. Iku migunani yen sampeyan kudu nambah, mbusak, utawa nelusuri item adhedhasar tombol. Iku menehi kita karo cara dhasar kayata sijine , njaluk , mbusak , ukuran , kosong , lan ing.Cara Umum Antarmuka iki
Saiki kita bakal katon ing sawetara cara umum sing kasedhiya kanggo implementasine saka macem-macem kelas ing framework iki kajaba antarmuka Peta.Metode | Katrangan |
---|---|
public boolean add(E e) | Digunakake kanggo nglebokake unsur menyang koleksi |
mbusak boolean publik (elemen obyek) | Digunakake kanggo mbusak unsur saka koleksi |
ukuran public int() | Ngasilake jumlah unsur ing koleksi |
boolean publik ngemot (elemen obyek) | Digunakake kanggo nggoleki unsur |
public boolean isEmpty() | Priksa manawa koleksi kosong |
public boolean equals(elemen objek) | Priksa kesetaraan |
Kelas Koleksi
Kita ngerti framework wis antarmuka beda kang dipun ginakaken dening akeh kelas nang. Saiki ayo goleki sawetara kelas sing umum digunakake.LinkedList
Iku struktur data sing paling umum digunakake sing ngleksanakake dhaptar pindho disambung kanggo nyimpen unsur nang. Bisa nyimpen unsur duplikat. Iku ngleksanakake antarmuka Dequeue lengkap dening antarmuka Antrian lan antarmuka Dhaftar. Iku ora diselarasake. Saiki ayo ndeleng carane ngatasi masalah sing dibahas ing ndhuwur (konsep FIFO) nggunakake LinkedList. Masalahe yaiku kanggo ngladeni para pelanggan kanthi cara sing padha teka, yaiku pisanan metu .Tuladha
import java.util.*;
public class LinkedListExample {
public static void main(String[] args) {
Queue<String> customerQueue = new LinkedList<String>();
//Adding customers to the Queue as they arrived
customerQueue.add("John");
customerQueue.add("Angelina");
customerQueue.add("Brooke");
customerQueue.add("Maxwell");
System.out.println("Customers in Queue:"+customerQueue);
//element() => returns head of the queue
//we will see our first customer and serve him
System.out.println("Head of the queue i.e first customer: "+customerQueue.element());
//remove () method =>removes first element(customer) from the queue i.e the customer is served so remove him to see next
System.out.println("Element removed from the queue: "+customerQueue.remove());
//poll () => removes and returns the head
System.out.println("Poll():Returned Head of the queue: "+customerQueue.poll());
//print the remaining customers in the Queue
System.out.println("Final Queue:"+customerQueue);
}
}
Output
Pelanggan ing Antrian:[John, Angelina, Brooke, Maxwell] Kepala antrian yaiku pelanggan pisanan: John Element dibusak saka antrian: John Poll (): Kepala antrian bali: Angelina Final Queue: [Brooke, Maxwell]
ArrayList
Iku mung ngleksanakake antarmuka List. Iki njaga urutan sisipan lan nggunakake array dinamis kanggo nyimpen unsur saka macem-macem jinis data. Unsur bisa diduplikasi. Iku uga non-sinkronisasi lan bisa nyimpen nilai null. Saiki ayo ndeleng cara sing beda-beda ... Iki migunani nalika kita ora ngerti jumlah rekaman utawa unsur sing kudu dilebokake. Coba conto perpustakaan sing ora ngerti jumlah buku sing kudu disimpen. Dadi saben kita duwe buku, kita kudu nglebokake menyang ArrayList.Tuladha
public class ArrayListExample {
public static void main(String args[]) {
// Creating the ArrayList
ArrayList<String> books = new ArrayList<String>();
// Adding a book to the list
books.add("Absalom, Absalom!");
// Adding a book in array list
books.add("A Time to Kill");
// Adding a book to the list
books.add("The House of Mirth");
// Adding a book to the list
books.add("East of Eden");
// Traversing the list through Iterator
Iterator<String> itr = books.iterator();
while (itr.hasNext()) {
System.out.println(itr.next());
}
}
}
Output
Absalom, Absalom! Wektu kanggo Mateni House of Mirth East of Eden
HashSet
Iku ngleksanakake antarmuka Setel lan ora tau ngemot nilai duplikat. Iki ngetrapake tabel hash kanggo nyimpen nilai. Uga ngidini nilai null. Ora tau njaga urutan sisipan nanging nyedhiyakake kinerja wektu sing tetep kanggo nambah , mbusak , ukuran , lan ngemot metode. Paling apik kanggo operasi telusuran lan ora disinkronake.Tuladha
import java.util.*;
class HashSetExample{
public static void main(String args[]){
//creating HashSet and adding elements to it
HashSet<Integer> hashSet=new HashSet();
hashSet.add(1);
hashSet.add(5);
hashSet.add(4);
hashSet.add(3);
hashSet.add(2);
//getting an iterator for the collection
Iterator<Integer> i=hashSet.iterator();
//iterating over the value
while(i.hasNext()) {
System.out.println(i.next());
}
}
}
Output
1 2 3 4 5
Nalika sampeyan bisa ndeleng iku ora njaga urutan selipan.
ArrayDeque
Iku ngleksanakake antarmuka Deque supaya ngidini operasi saka loro ends. Ora ngidini nilai null. Iku luwih cepet tinimbang Stack lan LinkedList nalika dileksanakake minangka Stack lan LinkedList. ArrayDeque ora duwe watesan ukuran amarga tuwuh lan nyusut miturut syarat. Iki ora disinkronake, tegese ora aman kanggo benang. Supaya thread-aman kita kudu ngleksanakake sawetara logika external.Tuladha
import java.util.*;
public class ArrayDequeExample {
public static void main(String[] args) {
//creating Deque and adding elements
Deque<String> deque = new ArrayDeque<String>();
//adding an element
deque.add("One");
//adding an element at the start
deque.addFirst("Two");
//adding an element at the end
deque.addLast("Three");
//traversing elements of the collection
for (String str : deque) {
System.out.println(str);
}
}
}
Output
Loro siji telu
HashMap
Iki minangka implementasi antarmuka Peta sing didhukung dening tabel hash. Iku nyimpen pasangan kunci-nilai. Ora ngidini nilai null. Iku ora diselarasake. Ora tau njamin urutan sisipan. Iki nyedhiyakake kinerja wektu sing tetep kanggo metode kaya get , lan put . Kinerja gumantung ing rong faktor - kapasitas awal lan faktor beban . Kapasitas minangka jumlah ember ing tabel hash supaya kapasitas awal minangka jumlah ember sing dialokasikan nalika nggawe. Faktor beban yaiku ukuran jumlah tabel hash sing bisa diisi sadurunge kapasitase ditambah. Cara rehash digunakake kanggo nambah kapasitas lan utamane tikel kaping pindho jumlah ember.Tuladha
import java.util.*;
public class HashMapExample{
public static void main(String args[]){
//creating a HashMap
HashMap<Integer,String> map=new HashMap<Integer,String>();
//putting elements into the map
map.put(1,"England");
map.put(2,"USA");
map.put(3,"China");
//get element at index 2
System.out.println("Value at index 2 is: "+map.get(2));
System.out.println("iterating map");
//iterating the map
for(Map.Entry m : map.entrySet()){
System.out.println(m.getKey()+" "+m.getValue());
}
}
}
Output
Nilai ing indeks 2 yaiku: China iterating map 1 Inggris 2 USA 3 China
Algoritma
Framework Koleksi menehi kita karo algoritma beda kanggo operasi beda kanggo aplikasi kanggo koleksi. Ing kene kita bakal ndeleng operasi utama sing dilindhungi dening algoritma kasebut. Isine algoritma sing ana gandhengane karo:- Ngurutake
- Nggoleki
- Ngacak
- Manipulasi Data Rutin
- Komposisi
- Nemokake Nilai Extreme
Ngurutake
Algoritma ngurutake maneh dhaptar miturut hubungan urutan. Ana rong jinis hubungan.- Urutan Natural
- Comparison Ordering
Urutan Natural
Ing urutan alam, dhaptar diurutake miturut unsur-unsure.Comparison Ordering
Ing wangun iki pesenan parameter tambahan, kang comparator, liwati bebarengan karo dhaftar. Algoritma ngurutake gabungan sing rada dioptimalake digunakake kanggo ngurutake sing cepet lan stabil amarga njamin n log (n) wektu mlaku lan ora nyusun ulang unsur sing padha. Kita bakal nggunakake conto sing padha saka ArrayList kanggo nduduhake ngurutake.Tuladha
import java.util.*;
public class SortingExample{
public static void main(String args[]){
//Creating arraylist
ArrayList<String> books=new ArrayList<String>();
//Adding a book to the arraylist
books.add("A Time to Kill");
//Adding a book to the arraylist
books.add("Absalom, Absalom!");
//Adding a book to the arraylist
books.add("The House of Mirth");
//Adding a book to the arraylist
books.add("East of Eden");
//Traversing list through Iterator before sorting
Iterator itrBeforeSort=books.iterator();
while(itrBeforeSort.hasNext()){
System.out.println(itrBeforeSort.next());
}
//sorting the books
Collections.sort(books);
System.out.println("After sorting the books");
//Traversing list through Iterator after sorting
Iterator itr=books.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
Output
Wektu kanggo Mateni Absalom, Absalom! The House of Mirth East of Eden Sawise ngurutake buku A Time to Kill Absalom, Absalom! Wétan Eden House of Mirth
GO TO FULL VERSION