1. Wadhah lan koleksi

Wadah utawa koleksi minangka kelas sing ngidini sampeyan nyimpen lan ngolah sawetara obyek bebarengan. Sampeyan wis ngerti rong jinis wadhah: array lan dhaptar.

Jawa nduweni pirang-pirang koleksi, sing saben-saben nyimpen unsur kanthi cara tartamtu. Ing ngisor iki sawetara:

Koleksi kelas Katrangan
List
ArrayList
Dhaptar
LinkedList
Dhaptar sing disambung
Vector
Vektor
Stack
tumpukan
Set
HashSet
Set
TreeSet
LinkedHashSet
Queue
PriorityQueue
antri
ArrayQueue
Map
HashMap
Peta/Kamus
TreeMap
HashTable

Jeneng-jeneng ing kene rada ambigu. Ing pirang-pirang basa pamrograman, kabeh struktur data kasebut diarani koleksi, nanging ora ana ing Jawa. Ing Jawa, sawetara kelas iki ngleksanakake Collectionantarmuka, nalika liyane ora.

Mulane, koleksi dipérang dadi koleksi ing pangertèn sing amba lan koleksi ing pangertèn sempit (mung sing ngleksanakake Collectionantarmuka).

Supaya kanggo ngindhari kebingungan, nalika kita ngomong babagan koleksi , kita tegese ing tembung sing sempit, yaiku kelas sing ngetrapake Collectionantarmuka. The List, Setlan Queuejinis kabeh koleksi. Koleksi ing pangertèn sing wiyar umumé disebut wadhah . Iki kalebu jinis kaya Maplan array.


2. HashSetkoleksi

Kelas kasebut HashSetminangka koleksi set khas. Akeh cara, padha karo kelas ArrayList. Ing sawetara cara, iku versi sing luwih primitif.

Sampeyan bisa nggawe HashSetobyek nggunakake statement kaya:

HashSet<Type> name = new HashSet<Type>();

Endi Typejinis unsur sing bakal disimpen ing HashSetkoleksi kasebut.

Kelas kasebut HashSetduwe metode kaya iki:

Metode Katrangan
void add(Type value)
Nambahake valueunsur menyang koleksi
boolean remove(Type value)
Mbusak valueunsur saka koleksi.
Ngasilake trueyen ana unsur kasebut
boolean contains(Type value)
Priksa manawa koleksi kasebut duwe valueunsur
void clear()
Mbusak koleksi, mbusak kabeh unsur
int size()
Ngasilake jumlah unsur ing koleksi

Ing ngisor iki conto nggunakake set.

Ayo nulis program sing ngucapake pamit marang pangguna yen dheweke ngucapake salam. Kanggo nggawe luwih menarik, kita bakal menehi program kita kemampuan kanggo ngerti "halo" ing sawetara basa.

Kode Cathetan
HashSet<String> set = new HashSet<String>();

set.add("Hallo");
set.add("Hello");
set.add("Hola");
set.add("Bonjour");
set.add("Ciao");
set.add("Namaste");

Scanner console = new Scanner(System.in);
String str = console.nextLine();

if (set.contains(str))
   System.out.println("Goodbye!");
Nggawe HashSetobyek sing nyimpen Stringunsur.


We nambah salam ing macem-macem basa kanggo setvariabel.




Maca baris saka console.


Menawi seratan wonten ing atur pambagyaharja, mangga kita pamit.


3. Set

Koleksi kasebut Setdirancang kanggo nahan sakumpulan unsur. Mulane diarani Set(set). Koleksi iki nduweni telung fitur.

Operasi ing set

Mung ana telung bab sampeyan bisa nindakake karo pesawat: nambah unsur kanggo pesawat, mbusak unsur saka pesawat, lan mriksa apa pesawat ngandhut unsur tartamtu. Mekaten.

Ora pesen

Unsur ing koleksi iki ora duwe indeks. Sampeyan ora bisa njaluk unsur dening indeks, utawa nulis nilai kanggo koleksi ing indeks tartamtu. A pesawat wis ora get()lan set()cara.

Unsur unik

Kabeh unsur ing set unik. Ora kaya dhaptar, sakumpulan bisa ngemot mung siji conto saka unsur. Objek ana ing set utawa ora - ora ana pilihan katelu. Sampeyan ora bisa nambah ireng kaping telu kanggo pesawat saka werna. Iku salah siji ana utawa ora.

Nggoleki unsur

Nalika sampeyan nambah unsur anyar, mbusak unsur, utawa mriksa apa unsur ana ing pesawat, search kanggo unsur dileksanakake ing cara. Unsur liwati dibandhingake karo unsur koleksi pisanan dening hashCode(), banjur yen nilai bali dening hashCode()match, dening equals().



4. Mbandhingake koleksi: ListvsSet

Ayo mbandhingake rong jinis koleksi: Listlan SetKita bakal ndeleng prabédan utama, nalika siji luwih nguntungake tinimbang liyane, lan kosok balene.

Coba mbandhingake List lan Set nggunakake dolanan minangka conto.

Koleksi List(dhaptar) iku kaya set dolanan sing disusun ing tembok ing kamar dolanan. Sampeyan bisa nambah dolanan ing pungkasan dhaptar. Yen pancene perlu, sampeyan uga bisa masang ing tengah (nanging sawetara Toys ana kudu dipindhah).

Saben dolanan duwe indeks. Sampeyan bisa ngrujuk dolanan kanthi indeks lan uga ngganti nomer dolanan 7 kanthi nomer dolanan 13. Sampeyan bisa mbusak nomer dolanan 4 saka dhaptar. Pungkasan, sampeyan bisa sinau indeks saben dolanan ing dhaptar.

Koleksi Set(set) luwih kaya tumpukan dolanan ing tengah lantai. Sampeyan bisa nambah dolanan menyang tumpukan, lan sampeyan bisa mbusak dolanan saka tumpukan. Nanging dolanan kasebut ora duwe indeks tetep sing ana gandhengane.

Utawa umpamane sampeyan lagi milih dolanan kanggo ulang tahune anak. Pisanan, sampeyan mikir apa dheweke wis duwe dolanan. Kabeh dolanan sing wis diduweni dadi set dolanan sing ora bakal sampeyan tuku.

Saka sudut pandang iki, sampeyan bisa ndeleng manawa urutan dolanan ing sakumpulan "dolanan sing wis ana" ora dadi masalah, uga ora masalah yen bocah sing ulang tahun duwe rong conto dolanan tartamtu. Sampeyan ora kasengsem ing urutan utawa nomer saben dolanan. Apa sampeyan peduli yaiku ngerti saben dolanan unik sing ana ing set kasebut.

Kanggo kasus kaya iki, sampeyan butuh Setkoleksi. Implementasine sing paling populer yaiku HashSetkelas.