ArrayList and Vector Matakuliah Pertemuan Tahun Versi : T0984 / Algoritma dan Metode Object Oriented Programming II :7 : 2008 : 1/0 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: – Menerapkan penggunaan Dynamic List menggunakan ArrayList dan Vector. Bina Nusantara Outline Materi • • • • • • • • • • Introduction Operasi List Implementasi List ArrayList ArrayList Method Contoh Kode ArrayList Vector Vector Mehtod Contoh Kode Vector ArrayList VS Vector Bina Nusantara Introduction • Data Structure adalah sebuah kumpulan data yang telah disusun dalam beberapa mode. • Struktur tidak hanya menyimpan data tetapi juga mendukung operasi-operasi untuk pengaksesan dan manipulasi data. • Dalam OOP, Data Structure = Collection. • Dimana sebuah objek yang menyimpan objek lain, disebut sebagai data atau elemen. • List merupakan salah satu dari 3 tipe Java Collection Framework (Set, List dan Map) Bina Nusantara Operasi List • Operasi yang paling khas dari List : • Method – methodnya : Bina Nusantara Mengambil sebuah element dari sebuah list Memasukan sebuah element baru ke dalam sebuah list Menghapus sebuah element dari sebuah list Mencari banyaknya element yang ada dalam sebuah list Mencari element apakah yang ada dalam sebuah list Mengetahui apakah list itu kosong atau tidak get(index) add (index, element) remove(element) size() containts(element) isEmpty() clear() indexOf(element) set(index, element) Implementasi List • Ada 2 cara untuk implementasi List : 1. Array – Dibuat secara dinamis – Jika kapasitas array melampaui maka buat array yang lebih besar dan menyalin seluruh isi elementnya ke array yang baru 2. Linked Structure – Terdiri dari node – node – Setiap node diciptakan secara dinamis untuk setiap elementnya – Semua node terhubung antar yang satunya. Bina Nusantara ArrayList • Array merupakan data struktur yang tetap ukurannya, sekali diciptakan maka ukurannya tidak dapat diganti lagi. • Turunan dari AbstractList dan Implementasi dari kelas List, RandomAccess, Cloneable, dan Serializable. • ArrayList diciptakan untuk mengatasi masalah yang dihadapi oleh Array dalam menentukan ukurannya karena sifatnya ArrayList adalah dinamis • Deklarasi : ArrayList al = new ArrayList(); Bina Nusantara ArrayList Method • Berikut fungsi-fungsi yang sering digunakan dalam kelas Array List : – – – – – – – – – add(element) menambahkan element ke dalam list clear() menghapus semua element dalam list clone() mengembalikan objek yang dicopy dalam list tersebut containts(element) mencari element yang ada dalam list get(index) mengambil element pada index tertentu dalam list isEmpty() mengecek apakah list tersebut kosong atau tidak remove(index) menghapus element yang ditunjuk dalam list size() jumlah element dalam list set(index, element) mengisi sebuah element dalam list sesuai dengan posisi yang ditunjuk. • Hampir semua rata-rata fungsi dalam ArrayList sama dengan fungsi dalam kelas List, karena ArrayList banyak mengimplementasi dari kelas List (interface). Bina Nusantara Contoh Kode ArrayList Bina Nusantara Contoh Kode ArrayList ( lanjutan .. ) • Outputnya : Bina Nusantara Vector • Turanan dan implement yang sama dengan ArrayList • Sama-sama bersifat dinamis dalam ukurannya (growable). • Setiap vector mencoba untuk mengoptimalkan pengelolaan penyimpanan dengan memelihara kapasitasnya. • Termasuk salah satu bagian dari Java Framework Collection • Deklarasi : Vector v = new Vector(); Bina Nusantara Vector Method • Berikut fungsi-fungsi yang sering digunakan dalam kelas Vector : – – – – – – – – – – – addElement(element) menambahkan element ke urutan terakhir dari vector capacity() Mengembalikan kapasistas vector clone() mengembalikan objek yang dicopy dalam vector tersebut containts(element) mencari element yang ada dalam vector copyInto(element[]) menyalin element ke spesifik array elementAt(index) mengambil element dari index yang ditunjuk insertElementAt(element , index) menambahkan sebuah element ke indek yang ditunjuk. isEmpty() mengecek apakah vector tersebut kosong atau tidak remove(index) menghapus element yang ditunjuk dalam vector size() jumlah element dalam vector set(index, element) mengisi sebuah element dalam vector sesuai dengan posisi yang ditunjuk. • Hampir semua rata-rata fungsi dalam Vector sama dengan fungsi dalam kelas List, karena Vector banyak mengimplementasi dari kelas List (interface). Begitu juga indentik sama dengan ArrayList. Bina Nusantara Contoh Kode Vector Bina Nusantara Contoh Kode Vector ( lanjutan ..) • Outputnya : Bina Nusantara ArrayList VS Vector • Setiap metode dalam Vector diberi keyword “synchronized”, sehingga ketika dieksekusi dalam sebuah Thread, maka tak akan terjadi kemacetan Thread. • Pada ArrayList setiap metode tidak diberi keyword “synchronized”, sehingga ketika dieksekusi dalam Thread, hal ini dapat mengakibatkan unsafe Thread, alias dapat terjadi tubrukan Thread, ketika Thread mencoba untuk memanggil metode ArrayList. • Waktu yang digunakan oleh ArrayList lebih singkat jika dibandingkan dengan Vector. • Jika kita ingin membuat array dinamis yang dijalankan menggunakan Thread, maka gunakanlah Vector, sedangkan jika memang proses yang kita butuhkan tidak menggunakan Thread, maka gunakanlah ArrayList agar proses pengolahan array dinamis lebih cepat. Bina Nusantara Referensi • Introduction to Java Programming. 7ed. Liang. 2009. Chapter 22, hal 752 • Introduction to Java Programming. 7ed. Liang. 2009. Chapter 24, hal 796 • ArrayList http://java.sun.com/j2se/1.4.2/docs/api/java/util/ArrayList.html http://www.java-tips.org/java-se-tips/java.lang/use-of-arraylist-class.html • Vector http://java.sun.com/j2se/1.4.2/docs/api/java/util/Vector.html • Vector VS ArrayList http://eecchhoo.wordpress.com/2007/10/20/javavectorvsarraylist/ Bina Nusantara
© Copyright 2024 Paperzz