Transcript ArrayList
Abstract Data Type (ADT) in Java Abstract Data Type (ADT) in Java • List – Vector – ArrayList – LinkedList • Set – HashSet – TreeSet • Map – TreeMap – HashTable – HashMap Collection Collection atau sering juga disebut sebagai container adalah sebuah object sederhana yang menampung lebih dari satu elemen di dalam satu kesatuan. Collection digunakan untuk menyimpan,mengambil dan memanipulasi data, juga mentransmisikan data dari satu method ke method lain Collection Classes Java 2 Useful library Collection classes Hashtable AbstractCollection (superclass: Dictionary) HashSet ArrayList TreeMap TreeSet 4 Java 2 Collections ©1999 Trygve Reenskaug Concrete Collections concrete collection ArrayList LinkedList Vector HashSet TreeSet HashMap TreeMap Hashtable implements List List List Set SortedSet Map SortedMap Map description resizable-array linked list resizable-array hash table balanced binary tree hash table balanced binary tree hash table List • List adalah Collection yang bisa berisi elemen terduplikasi • Seperti indeks array, indeks List berawal dari nol. • List menyediakan metode untuk memanipulasi elemen melalui indeks, memanipulasi berbagai elemen tertentu, mencari elemen dan menggunakan ListIterator untuk mengakses elemen. • Interface List diimplementasikan oleh class ArrayList, LinkedList dan Vector. Vector Vektor adalah implementsi dari dinamis array, yang hampir sama dengan ArrayList perbedaanya adalah vector mempunyai method yang bukan turunan dari collection framework Vector(); Vector(int size); Vector(int size,int incr); Vector ArrayList ArrayList hampir mirip seperti vektor. Pada JDK 1.1 ArrayList 3-4 kali lebih cepat dari pada Vektor, sedangkan pada JDK 1.1.4 ArrayList 40 kali lebih cepat daripada vektor ArrayList al=new ArrayList(); Method dari ArrayList Method Keterangan add(<object>) Digunakan untuk menambahkan data object ke dalam ArrayList. add(<index>,<object>) get(<index>) remove(<index>) isEmpty() clear() Method ini menyediakan dua parameter untuk menambahkan sebuah object dengan menentukan nomor index elemennya. Method get adalah method yang disediakan oleh ArrayList untuk mengambil sebuah object berdasarkan nomor indexnya. Mothod ini berfungsi untuk menghapus elemen ArrayList berdasarkan nomor indexnya. Digunakan untuk memeriksa apakah object ArayList yang dibuat kosong atau tidak. Menghapus semua elemen yang ada di dalam object ArrayList. LinkedList LinkedList mengimplementasi interface List. LinkedList juga memperbolehkan elemennya menggunakan null. LinkedList ll=new LinkedList(); Method dari LinkedList Method Keterangan add(<object>) Digunakan untuk menambahkan data object ke dalam LinkedList. size() get(<index>) Mengambil jumlah elemen pada object LinkedList Mengambil nilai elemen berdasarkan nomor index yang ada pada object LinkedList addFirst() Menambahkan object pada elemen awal addLast() Menambahkan object pada elemen akhir getFirst() Mengambil nilai elemen pertama getLast() Mengambil nilai elemen terakhir clear() Menghapus semua nilai elemen pada object LinkedList remove() remove(<index>) Method remove tanpa parameter akan menghapus elemen pertama Parameter akan menunjukan elemen mana yang akan dihapus Map • • • • • Map memasangkan key dengan value Map tak boleh mengandung duplicate key Setiap key dipasangkan hanya pada satu value Contoh: dictionary, phone book, etc. Beda Map dan Sets : Map mengandung key dan value, sedangkan Sets mengandung hanya value Map • Implementasi interface Map adalah class Hashtable, HashMap and TreeMap. • Hashtables and HashMaps store elements in hash tables, • TreeMaps store elements in trees Hash table • A hash table is an array of linked lists. Each list is called a bucket Set • Set adalah Collection dengan elemen tanpa duplikasi. • Implementasi dari Interface Set adalah HashSet dan TreeSet • HashSet menyimpan elemen dalam hash table. • TreeSet menyimpan elemen dalam tree. Set