T - Collection

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

    , , ,