3.12.3 MEMBUAT KODE PROGRAM APLIKASI PBO YANG MENERAPKAN COLLECTION SEBAGAI PENYIMPANAN
- List
List variable mengandung beberapa item dan dideklarasikan menggunakan kurung siku. contoh : [. . .]
- jika digunakan pada list kosong : def mobil []
- jika digunakan pada list yang memiliki nilai awal : def mobil [5, 3, 10, 9]
- jika sebelumnya digunakan pada “def mobil” hanya berupa angka, tapi list pada groovy mengandung sebuah tipe data campuran seperti :
def violet= [5, true, ‘tire’, 5.12]
println violet = [2]
println violet = [-3] “FYI, program akan membaca dimulai dari kanan”
println violet.get =(3)
Kurung siku ‘[]’ digunakan membuat list tapi digunakan juga untuk mengacu kepada indeks yang ada di dalam list misalnya (println violet = [2])-contoh ini sering disebut sebagai subscript notasi. Pada contoh diatas kalian akan melihat print out dari “violet = [2]”-daftar item dengan (subcript). pada hal ini menyebabkan sedikit kebingungan kenapa tire yang ditampilkan. Hal ini dikarenakan list berbasis nol ‘0’ dan item pertama di indeks ‘0’ tidak indeks ‘1’. Dimana kita menggunakan violet [2] kita meminta untuk list yang ada ketiga di dalam list.
Ini mungkin menjadi hal yang mengejutkan untuk programmer bahwa println violet [-3] valid. Ini sangat berguna untuk mengakses list item dari akhir yang ada di list. item -1 adalah yang terakhir dalam list, jadi violet[-3] akan menjadi ‘value’ yang memiliki nilai ‘benar’.
get() juga method yang digunakan untuk mengakses elemen list oleh indeks sebagai contoh : violet.get(3) memberi kita 5.12
berikut capture-nya :

Didalam multiple indeks subscript notation
dan ambil unsur-unsur tertentu. Contoh dibawah ini aku ambil element 0
dan 2 (temperatures[0, 2]) kemudian elemen 1, 3 dan 4 (temperatures[1,
3, 4]). menggunakan indeks dengan list :
def bilangan=[10, 5, 8, 3, 6]
assert bilangan [0,2] ==[10, 8]
assert bilangan [1, 3, 4] == [5, 3, 6]
Range
juga dapat digunakan dalam subscript notasi dan seperti yang
ditunjukkan pada contoh dibawah ini, mengembalikkan sebuah list yang
berisi indeks item yang disertakan dalam range. menggunakan range dengan
list :
def bilangan = [10, 5, 8, 3, 6]
assert bilangan = [1. .3] == [5, 8, 3]
Kita juga menggunakan indeks campuran individu dan range seperti yang kita lihat. Contoh indeks dan range dalam list :
def bilangan = [10, 5, 8, 3, 6]
assert bilangan = [0, . . 1, 3]==[10, 5, 3]
assert bilangan = [0, . . 1, 1 . . 3] ==[10, 5, 5, 8, 3]
assert bilangan = [0, . . 1, 1 . . 3, 4]==[10, 5, 5, 8, 3, 6]
Adding element
Menambahkan sebuah element kita menggunakan method ‘add()’ atau operator ‘<<’. contoh sebagai berikut :
deff violet = [1, true, ‘rabbit’, 5.12]
violet << ‘tire’
violed.add(222)
println violet
Sets
Set seperti list tapi setiap element dalam satu set unik. contoh :
def namaOrang = [‘mamad’, ‘yuli’, ‘endang’, ‘mamad’] as set
println namaOrang
Jika kalian mencoba code diatas, maka akan menampilkan [mamad, yuli, endang]. pengulangan tidak akan ditampilkan.
Usefull list methods
size() adalah method pengembalian, berupa elementyang dijadikan dalam bentuk angka. contoh :
def belanja = [‘sayur’, ‘popok’, ‘beras’]
println belanja.size()
method first() dan last() returns dari elemen pertama dan terakhir didalam list. Untuk head() adalah sinonim dari first(). Contoh :
def belanja = [‘sayur’, ‘popok’, ‘beras’]
println belanja.first()
println belanja.head()
println belanja.last()
jika kalian jalankan code diatas, akan muncul “sayur, sayur, beras”
method tail() returns list tanpa element first(head) dan init() returns method tanpa element terakhir. Contoh :
def belanja = [‘sayur’, ‘popok’, ‘beras’]
println belanja.tail()
println belanja.init()
jika kalian menjalankan code diatas, maka pada tail akan menampilkan :
[popok, beras]
jika kalian menjalankan code diatas, pada ini akan menampilkan :
[sayur, popok]
Methode contains(), returns jika elemen true diminta terkandung dalam list. contoh :
def belanja= [‘sayur’, ‘popok’, ‘beras’]
println belanja.contains(‘popok’)
jika kalian menjalankan code diatas, maka akan menampilkan true, karena contains akan mencari apakah benar ‘popok’ ada pada list.
method revers() returns mirror di list. contoh :
def belanja = [‘sayur’, ‘popok’, ‘beras’]
println belanja.reverse()
jika kalian menjalankan code diatas akan menampilkan [beras, popok, sayur]. ini adalah method reverse.
sort() akan
sortir elemen yang ada didalam order secara “natural”. pada dasarnya,
hal ini bergantung pada halaman list yang sebanding dalam beberapa cara,
method sort paling cocok digunakan ketika semua list content memiliki jenis yang sama (misalnya, string atau numbers). contoh :
def belanja = [‘sayur’, ‘popok’, ‘beras’]
belanja.sort()
jika kalian menjalankan code ini maka akan menampilkan [beras, popok, sayur]
2. Maps
Maps, memungkinkan membangun tipe look-up menggunakan tabel keys dan value. Bahasa lain menyebutnya kamus atau terkait array.
Maps
kosong di deklarasikan menggunakan [:], dan contoh dibawah ini
menunjukkan digunakan ketika mendeklarasikan variable periodik.
def periodik = [:]
Setiap
key didalam map adalah unik dan point-point didalam map. dalam contoh
dibawah ini kita mulai dari basic tabel periodic oleh deklarasi sebuah
variable (periodic) dengan sebuah pasangan set key-value (key:value)
masing-masing dipisahkan oleh koma (,) dan diselenggarakan dalam kurung
([]…):
contoh cara deklarasi dengan element
def belanja = [‘p’: ‘popok’,
‘sa’: ‘sayuran’,
‘be’: ‘beras’]
println belanja[‘p’]
println belanja.p
println belanja.get(‘be’)
jika kalian jalankan kode diatas, maka dengan singkatan p/sa/be, akan menampilkan dari singkatan yang di deklarasikan.
Kalian juga harus memperhatikan bahwa kita dapat mengakses item map menggunakan :
1. key dalam kurung siku ([])
— seperti yang kita lakukan dengan list : println belanja [‘p’]
— ini sering disebut sebagai subscript notasi
2. kita juga dapat menggunakan titik (.) dengan mengikuti key :
— seperti dalam println belanja.p
— ini sering disebut sebagai dot-point notation
3. terakhir yang get() method dilewatkan sebuah key dan pengembalian nilai associated.
Key
dalam map dapatkan nama mereka disediakan untuk mematuhi aturan yang
sama untuk kita ikut nama-nama variable. itu berarti bahwa keys dalam
belanja tidak harus ditulis sebagai string :
def belanja = [p: ‘popok’,
be: ‘beras’,
sa: ‘sayuran’]
jika kalian coba code diatas maka akan menampilkan, {p=popok, be=beras, sa=sayuran}
Adding elements
untuk
menambahkan sebuah element ke map kita dapat menggunakan kurung siku (
[] ), dot-point notation, atau put() method untuk menambahkan pada
sebuah new key/value pair. contoh :
def belanja = [‘p’: ‘popok’,
‘sa’: ‘sayuran’,
‘be’: ‘beras’]
belanja[‘te’] = ‘terong’
belanja.b = ‘Boron’
belanja << [‘c’: ‘Carbon’]
belanja.put(’n’, ‘Nitrogen’)
jika kalian menjalankan code diatas maka akan menampilkan, {p=popok, sa=sayuran, be=beras, te=terong, b=Boron, c=Carbon, n=Nitrogen}
Keys
Map
keys tidak harus string, mereka dapat menjadi perpaduan string, angka
atau object lainnya. Coba kita lihat pada contoh berikut lalu kita lihat
juga berbagai potongan-potongan dari kode :

- create new class (chicken)
1…dan simpan new instance dari ‘chicken’ dalam variable ‘cluckers’ - kemudian buat sebuah map yang dapat dipanggil ‘mixed map’ dengan perbedaan tipe keys :
1. 12 adalah nomor
2. ‘chicken’ adalah string
3. (cluckers) menunjukkan bahwa keys adalah value variabel - gunakan notation kurung siku dan method ‘get’ untuk akses nilai yang sejajar yang keys 12.
1. ‘mixedMap.12’ tidak akan berkerja - gunakan kurung siku, dot-point dan method ‘get’ untuk akses value yang sejajar untuk key ‘chicken’.
- gunakan kurung siku notation dan method ‘get’ untuk akses value key (cluckers)
1. mixedMap.cluckers - println ‘mixedMap’ disebut untuk menampilkan konten map.
Useful map method
Seperti pada list, method size() pengembalian elemen didalam map
method
‘get’ dapat digunakan untuk mendapatkan value untuk permintaan key.
Pilihan kedua parameter dapat menyediakan dan mengembalikkan jika map
tidak dapat mengandung requested key. contoh ‘get’ methode :

Methode keySet() pengembalian semua list containing dari keys didalam map dan value pengembalian list value di dalam map. contoh ‘keySet’ :

method containsKey() dan containsValue() berguna untuk mengecek pada isi map. contoh :

Sekian penjelasan singkat dari Java Collection. terima kasih.
0 komentar:
Posting Komentar