COLLECTION

Post on 23-Feb-2016

70 views 0 download

description

COLLECTION. Imam Fahrur Rozi. TOPIK. Pengenalan Collection Collection Framework Collection Interfaces Map Pengambilan element Iterator ListIterator Enumeration. PENGENALAN COLLECTION. - PowerPoint PPT Presentation

Transcript of COLLECTION

COLLECTION

Imam Fahrur Rozi

TOPIK

• Pengenalan Collection• Collection Framework• Collection Interfaces• Map• Pengambilan element– Iterator– ListIterator– Enumeration

PENGENALAN COLLECTION

• Collection juga disebut container merupakan obyek yang menyimpan elemen – elemen obyek ke dalam satu unit

• Dalam Java collection digunakan untuk menyimpan, menerima dan memanipulasi obyek, mirip pada array.

• Collection yang umum yaitu HashTable, Array dan Vector telah ada sejak versi JDK 1.2

PENGENALAN COLLECTION

• JDK 1.2 dan sebelumnya tidak memiliki collection framework.

• Array dapat meyimpan tipe data primitif ataupun obyek, tetapi Collection hanya menyimpan obyek saja

• Tipe data primitif tidak bisa ditambah ke Collection, sehingga harus menggunakan wrapper class-nya

COLLECTION FRAMEWORK• Collection framework merupakan kerangka yang digunakan

untuk merepresentasikan dan memanipulasi collection• Collection Framework meliputi :• Interfaces : Mendefinisikan method dimana tiap tipe

collection harus mengimplementasikannya• Implementation : Kelas yang mengimplementasikan

interface collections, misal HashSet dan TreeMap• Algoritma : Method yang digunakan untuk melakukan

komputasi, seperti sorting, searching, menyimpan dan memanipulasi elemen

COLLECTION INTERFACE

• Interface dalam collection framework merupakan pondasi dari collection

• Map dan SortedMap bukan turunan dari interface Collection. Map dan SortedMap tetap dikenali sebagai collection, meskipun menurut batasan definisi Java menyatakan bahwa Map dan SortedMap bukan termasuk tipe Collection

HIRARKI COLLECTION INTERFACE

Definisi Interfaces• Collection : sekumpulan obyek yang tidak mempunyai posisi yang

tetap (no particular order) dan menerima duplikat.• List: sekumpulan obyek yang urut (ordered) dan menerima

duplikat.• Set: sekumpulan obyek yang tidak urut (unordered) dan menolak

duplikat.• Map: mendukung pencarian berdasarkan key, key ini harus unik.

Has no particular order.• SortedSet : Extend interface Set dengan mengurutkan elemennya• SortedMap : Extend interface Map dengan mengurutkan key

elemennya

Method Interface Collection

• boolean add(Object element) : Menambahkan elemen pada collection, bila berhasil akan mengembalikan nilai true.

• boolean remove(Object element) : Menghapus elemen di collection, bila berhasilakan mengembalikan nilai true.

• int size() : Mengembalikan jumlah elemen dalam collection

Method Interface Collection

• boolean isEmpty() : Jika tidak terdapat elemen sama dalam collection maka akan mengembalikan nilai true.

• boolean contains(Object elemen) : Akan mengembalikan nilai true jika elemen terdapat pada collection.

• boolean containsAll(Collection collection_A) : Akan mengembalikan nilai true jika semua elemen yang ada pada collection_A ada pada collection.

Method Interface Collection

• boolean addAll(Collection collection) : Akan mengembalikan nilai true jika semua elemen yang ada pada collectionA berhasil ditambahkan pada collection.

• void clear() : Mengapus semua elemen collection.• void removeAll(Collection collection_A) : Menghapus

semua elemen collection yang adapada collectionA• void retainAll(Collection collection A) ( _ ) : Menghapus

semua elemen Collection kecuali elemen yang ada pada Collection_A

Beberapa yang kita bahas

Set : HashSet

• Elemen pada Set selalu unik.• Set menolak duplikat.• Elemen yang tersimpan tidak urut (unordered)

dan unsorted.• Interface Set merupakan sub interface dari

interface Collection

Contoh HashSet

SortedSet : TreeSet

• Aturan sama dengan interface Set menolak duplikat.

• SortedSet adalah subinterface Set.• Beda : elemen tersimpan dalam urutan

ascending sorted

Contoh TreeSet

List

• Elemen tersimpan terurut (ordered).• Urut berdasarkan masukan.• Menerima duplikat.• Contoh List:• LinkedList : elemen dalam LinkedList masuk dari awal

dan dihapus dari akhir.• Vector : a growable array of object.• ArrayList: mirip vector, bersifat unsyncronized (jika

multiple threads mengakses object ArrayList, object ini Harus syncronized secara eksternal)

Contoh ArrayList

Contoh Vector

Map• Menyimpan elemen dengan key unik.• Satu key untuk satu elemen.• 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

Contoh HashTable

Contoh HashMap

SortedMap : TreeMap

• Aturan mirip Map• Beda: obyek tersimpan secara sorted

berdasarkan key.• No duplicate key .• Elements boleh duplikat.• Key tidak boleh null value

Contoh TreeMap

Bagan Perbandingan

Iterator

• Iterasi adalah proses mendapatkan kembali (retrieve) elemen yang terdapat dalam collection.

• Iterator merupakan interface yang bisa digunakan untuk meretrieve elemen collection.

ListIterator

• ListIterator adalah subinterface dari Iterator.• Dengan menggunakan ListIterator pada List,

maka elemen dapat diambil secara backward.• Gunakan method next atau previous sebagai

navigasi

Hirarki Iterator

Contoh Iterator

Enumeration

• Enumeration adalah variasi dari Iterator.• Cara kerja Enumeration mirip dengan Iterator. • Method hasNext() diganti dengan

hasMoreElements(• Method next() untuk mengambil obyek diganti

nextElement• Diunakan pada Vector

Conth Enumeration

Kesimpulan

• Collection menyimpan element tidak berurut (unordered) tidak ada duplikasi

• List mengurutkan element• Set menolak duplikasi element• Map menggunakan key unik untuk menandai

elementnya

Kesimpulan dari Segi Penyimpanan• Menggunakan array membuat penyisipan dan penghapusan

elemen serta penambahan kapasitas simpan lebih sulit.• List mendukung penyisipan dan penghapusan elemen serta

penambahan kapasitas simpan, tetapi pengaksesan indeks menjadi lambat

• Tree mendukung penyisipan dan penghapusan elemen serta penambahan kapasitas simpan, pengaksesan indeks menjadi lambat tetapi pencarian lebih cepat

• Hash mendukung penyisipan dan penghapusan elemen serta penambahan kapasitas simpan Pengaksesan indeks menjadi lambat tetapi pencarian sedikit lebih cepat. Hash membutuhkan key unik untuk menyimpan data element