Upload
balqis-kamalia-fikria
View
22
Download
0
Embed Size (px)
DESCRIPTION
tentang collection pada java
Citation preview
5/28/2018 T - Collection
1/47
Pemrograman Berbasis Objek
Collections
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
2/47
Pemrograman Berbasis Objek
.
Collection sudah ada sejak JDK 1.0
as a e
Vector
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
3/47
Pemrograman Berbasis Objek
digunakan untuk menyimpan sekumpulan
Obyek yang ada dalam Collection disebut
Collection menyimpan elemen yang
er pe ec , se ngga er aga peobyek bisa disimpan dalam Collection
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
4/47
Pemrograman Berbasis Objek
Collection : sekumpulan obyek yang tidakmempunyai posisi yang tetap (no particular order)
dan menerima duplikat.
List: sekumpulan obyek yang berdasarkan urutan.
Set: sekumpulan obyek yang tidak berdasarkan
urutan (unordered) dan menolak duplikat.
Map: mendukung pencarian berdasarkan key, key iniharus unik. Has no particular order.
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
5/47
Pemrograman Berbasis Objek
List
(ArrayList,
Set
(HashSet)
Map
(Hashtable,n e s ,
Vector)
as ap
SortedSet
(Tree)
SortedMap
TreeMap
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
6/47
Pemrograman Berbasis Objek
Politeknik Elektronika Negeri Surabaya 6
5/28/2018 T - Collection
7/47
Pemrograman Berbasis Objek
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
8/47
Pemrograman Berbasis Objek
Elemen pada Set selalu unik
e meno a up a
Elemen yang tersimpan tidak berdasarkanurutan unorder dan tidak di sortin unsorted
Berhubungan dengan definisi matematika mengenai
himpunan. n er ace e merupa an su n er ace ar n er ace
Collection
Class yang mengimplementasikan interface Set adalah
HashSet
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
9/47
Pemrograman Berbasis Objek
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
10/47
Pemrograman Berbasis Objek
Set:HashSet
Hasil:
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
11/47
Pemrograman Berbasis Objek
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
12/47
Pemrograman Berbasis Objek
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
13/47
Pemrograman Berbasis Objek
Operasi Besar (Bulkoperations)pa a et: as et
Meru akan o erasi ada Him unan s1.containsAll(s2)
mengembalikan nilai true jika s2 adalah subset s1. (Set s2 adalahsubset s1 apabila s1 berisi semua anggota s2)
s = s s
s1.addAll(s2)
hasil dari s1 adalah gabungan (union) dari s1 dan s2
s1.retainAll(s2)
hasil dari s1 adalah irisan(intersection) dari s1 dan s2.
=
s1.removeAll(s2)
hasil dari s1 adalah selisih dari s1 dengan s2
Selisih (s1 - s2) adalah set yang berisi semua elemen yang ada
Politeknik Elektronika Negeri Surabaya
pada s1 tetapi tidak ada pada s2.
5/28/2018 T - Collection
14/47
Pemrograman Berbasis Objek
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
15/47
Pemrograman Berbasis Objek
menolak duplikat.
Set. e a: e emen ers mpan a am uru an
ascending sorted.
Contoh SortedSet: TreeSet.
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
16/47
Pemrograman Berbasis Objek
Chess
Out ut: BlackJack, Checkers, Chess, Whist
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
17/47
Pemrograman Berbasis Objek
HashSet and TreeSet mengimplementasikan interface Set.
HashSet Diimplementasikan menggunakan hash table
Method add, remove, and contains, kompleksitas waktu O(c).
Diimplementasikan menggunakan struktur pohon.
Dijamin elemen dalam keadaan terurut.
, ,O(log (n)),
dimana n adalah jumlah elemen pada set.
Politeknik Elektronika Negeri Surabaya 17
5/28/2018 T - Collection
18/47
Pemrograman Berbasis Objek
Elemen tersimpan berdasarkan urutan masukanordered .
Menerima duplikat. Contoh List:
n e s : e emen a am n e s masu ar awa andihapus dari akhir.
Vector : a growable array of object. ,
threads mengakses object ArrayList, object ini harussyncronized secara eksternal)
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
19/47
Pemrograman Berbasis Objek
Pen emban an dari Interface Collection.
Pengaksesan elemen melalui indeks seperti arrayadd (int, Object), get(int), remove(int), set(int, Object)
indexOf(Object), lastIndexOf(Object)
Menggunakan Iterator tertentu disebutListIterator Dapat mengambil subList
subList(int fromIndex, int toIndex)
Politeknik Elektronika Negeri Surabaya 19
5/28/2018 T - Collection
20/47
Pemrograman Berbasis Objek
add Ob ect : menambahkan elemen diakhir list
remove(Object) : menghapus di awal list list1.equals(list2) : dikatakan sama dengan
memperhatikan urutan elemen
Politeknik Elektronika Negeri Surabaya 20
5/28/2018 T - Collection
21/47
Pemrograman Berbasis Objek
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
22/47
Pemrograman Berbasis Objek
ClassArrayList dan LinkedList mengimplementasikan interface
s .
ArrayList adalah sebuah implementasi array dimana elemen-elemennya dapat diakses secara langsung menggunakanget and
se me o s.
Biasanya ArrayList untuk urutan sederhana (simple sequence).
LinkedList menggunakandouble linked list
Memberikan performance yang lebih baik untukmethod add dan
remove dibandingkanArrayList.
Memberikan erformance an lebih elek untuk method et and
set dibandingkanArrayList.
Politeknik Elektronika Negeri Surabaya 22
5/28/2018 T - Collection
23/47
Pemrograman Berbasis Objek
List:Arra List
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
24/47
Pemrograman Berbasis Objek
Output: [Duke, Zak, Gordon, Lara, Zak]
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
25/47
Pemrograman Berbasis Objek
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
26/47
Pemrograman Berbasis Objek
Collection menyediakan method untuk merandom isi dari
o ec on
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
27/47
Pemrograman Berbasis Objek
Output program sama dengan sebelumnya tapi lebih
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
28/47
Pemrograman Berbasis Objek
Output
2
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
29/47
Pemrograman Berbasis Objek
Politeknik Elektronika Negeri Surabaya
5/28/2018 T - Collection
30/47
Pemrograman Berbasis Objek
Tambahkan program sebelumnya
Politeknik Elektronika Negeri Surabaya
P B b i Obj k
5/28/2018 T - Collection
31/47
Pemrograman Berbasis Objek
Politeknik Elektronika Negeri Surabaya
P B b i Obj k
5/28/2018 T - Collection
32/47
Pemrograman Berbasis Objek
Politeknik Elektronika Negeri Surabaya
Pemrograman Berbasis Objek
5/28/2018 T - Collection
33/47
Pemrograman Berbasis Objek
Sebagian besar algoritma(method) pada class Collections diaplikasikan ke.
pada List.
sort(List)mengurutkan List dengan algoritma merge sort
s u e s
Permutasi secara random pada List
reverse(List)
membalik urutan elemen ada List fill(List, Object)
Mengganti setiap elemen pada List dengan value yang ditentukan
copy(List dest, List src)
.
binarySearch(List, Object)Mencari sebuah element pada List dengan algoritma binary Search
Politeknik Elektronika Negeri Surabaya
Pemrograman Berbasis Objek
5/28/2018 T - Collection
34/47
Pemrograman Berbasis Objek
Iterator. Den an men unakan ListIterator ada List
maka elemen dapat diambil secara backward.
Gunakan method next atau previous sebagainavigasi.
Politeknik Elektronika Negeri Surabaya
Pemrograman Berbasis Objek
5/28/2018 T - Collection
35/47
Pemrograman Berbasis Objek
Politeknik Elektronika Negeri Surabaya
Pemrograman Berbasis Objek
5/28/2018 T - Collection
36/47
Pemrograman Berbasis Objek
Politeknik Elektronika Negeri Surabaya
Pemrograman Berbasis Objek
5/28/2018 T - Collection
37/47
Pemrograman Berbasis Objek
Menyimpan elemen dengan key unik.
.
Key disimpan dalam bentuk object. Map tidak bisa menyimpan duplicate key.
Map bisa menyimpan duplicate element.
Has no particular order.
Contoh: Hashtable
HashMap not syncronized for threads
permits null values to be stored
Politeknik Elektronika Negeri Surabaya
Pemrograman Berbasis Objek
5/28/2018 T - Collection
38/47
Pemrograman Berbasis Objek
Map dapat dipandang sebagai Collection dengan 3cara:
keySetmenghasilkan Set key yang ada pada Map
a ues
Collection values yang ada pada Map. Collection disini bukanSet karena multiple key dapat mempunyai nilai yang sama.
Hasil disimpan pada Set, pasangan key-value yang ada padaMap
Politeknik Elektronika Negeri Surabaya
Pemrograman Berbasis Objek
5/28/2018 T - Collection
39/47
e og a a e bas s Obje
Map adalah object yang memetakan key dengan value. Disebut
juga dengan associative array atau dictionary.
Method untuk menambah dan menghapus
put(Object key, Object value)
remove (Object key)
Method untuk mengambil object.
get (Object key)
Method untuk mengambil key, value dan pasangan (key, value) keySet() // returns a Set
values() // returns a Collection,
entrySet() // returns a set
Politeknik Elektronika Negeri Surabaya 39
Pemrograman Berbasis Objek
5/28/2018 T - Collection
40/47
g j
Politeknik Elektronika Negeri Surabaya
Pemrograman Berbasis Objek
5/28/2018 T - Collection
41/47
g j
Politeknik Elektronika Negeri Surabaya
Pemrograman Berbasis Objek
5/28/2018 T - Collection
42/47
public static void main(String [] arg){
ht.put(key1, new Integer(12));
}
Politeknik Elektronika Negeri Surabaya
Pemrograman Berbasis Objek
5/28/2018 T - Collection
43/47
Out ut: Game4=Chess, Game3=Whist, Game1=Hearts, null=Chess
Politeknik Elektronika Negeri Surabaya
Pemrograman Berbasis Objek
5/28/2018 T - Collection
44/47
Politeknik Elektronika Negeri Surabaya
Pemrograman Berbasis Objek
5/28/2018 T - Collection
45/47
Politeknik Elektronika Negeri Surabaya
Pemrograman Berbasis Objek
5/28/2018 T - Collection
46/47
Beda: obyek tersimpan secara sorted.
No duplicate key.
Elements may be duplicate.
Ke tidak boleh null value.
Politeknik Elektronika Negeri Surabaya
Pemrograman Berbasis Objek
5/28/2018 T - Collection
47/47
Politeknik Elektronika Negeri Surabaya
, , ,