Collections
Collections
IFS2203
Collections
Collections adalah suatu objek yang bisa
digunakan untuk menyimpan sekumpulan objek.
Objek yang ada dalam Collections disebut
elemen.
Collection menyimpan elemen yang bertipe
HashSet
Diimplementasikan dengan Hash table
Elemen tidak terurut
Method add, remove and contain, kompleksitas waktu
O(c).
TreeSet
Diimplementasikan dengan struktur pohon
Dijamin keadaaan element terurut
Method add, remove and contain, kompleksitas waktu
logarithmic O(log(n)). dimana n adalah jumlah elemen
pada set.
List
Elemen tersimpan berdasarkan urutan
masukkan (ordered).
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 unsyncroized
(jika multiple threads mengakses objek
ArrayList, objek ini harus syncronized secara
eksternal).
List
Pengembangan dari Interface Collection.
Pengaksesan elemen melalui indeks seperti
array add(int, Object), get(int),
remove(int), set (int, Object)
Pencarian elemen
indexOf(Object), lastIndexOf(Object)
Menggunakan iterator tertentu disebut
ListIterator
Dapat mengambil subList subList(int
fromndex, int toIndex)
List
package listexample;
import java.util.*;
public class SetExample {
package shuffle;
import java.util.*;
public class Shuffle {
public static void main(String
args[]) {
List l = Arrays.asList(args);
Collections.shuffle(l);
System.out.println(l);
}
}
List
package testlist;
import java.util.*;
public class TestList {
public static void main(String[] args) {
List list = new ArrayList();
list.add("Anis");
list.add("Budi");
list.add("Candra");
int i = list.indexOf("Candra");
System.out.println(i);
}
}
package testlist; public static void main(String[]
import java.util.*; args) {
public class TestList{ List list = new ArrayList();
public static void replace(List l, List list2 = new ArrayList();
Object val, Object newVal) { list.add("Anis");
for (ListIterator i = list.add("Budi");
l.listIterator();i.hasNext();) list.add("Candra");
if(val==null ? list.add("Dewi");
i.next()==null: val.equals(i.next())) System.out.println(list);
i.set(newVal); replace(list,"Anis", "Rika");
} System.out.println(list);
public static void replace(List l,
Object val, List newVals) { list2.add("Intan");
for(ListIterator list2.add("Imam");
i=l.listIterator();i.hasNext();) replace(list, "Budi", list2);
if(val==null? System.out.println(list);
i.next()==null:val.equals(i.next())){ }
i.remove(); }
for(Iterator
j=newVals.iterator();j.hasNext();)
i.add(j.next());
}
}
List
Tambahkan program sebelumnya
System.out.println(list.subList(0,
5).indexOf("Dewi"));
list.add(2,"Dewi");
System.out.println(list);
System.out.println(list.subList(2,
list.size()).indexOf("Dewi"));
System.out.println(list.subList(2,
list.size()).lastIndexOf("Dewi"));
List
●
Sebagian besar algoritma(method) pada class Collections
diaplikasikan ke List. Sehingga dengan algoritma ini memudahkan
untuk memanipulasi data pada List.
●
sort(List)
Mengurutkan List dengan algoritma merge sort
●
shuffle(List)
Permutasi secara random pada List
●
reverse(List)
Membalik urutan elemen pada List
●
fill(List, Object)
Mengganti setiap elemen pada List dengan value yang ditentukan
●
copy(List dest, List src)
Mengkopikan source List ke destination List.
●
BinarySearh(List, Object)
Mencari sebuah element pada List dengan algoritma binary Search
ListIterator
boolean hasPrevious();
Object previous();
int nextIndex();
int previousIndex();
Void remove(); //optional
Void set(Object o); //optional
Void add(Object o); //optional
}
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
Map
Map dapat dipandang sebagai Collection
dengan 3 cara :
●keySet
menghasilkan Set key yang ada pada Map
●Values
collection values yang ada pada Map.
Collection disini bukan Set karena multiple
key dapat mempunyai nilai yang sama.
●EntrySet
Hasil disimpan pada Set, pasangan key-value
yang ada pada Map
Map
●
Map adalah object yang memetakan key dengan value.
Disebut juga dengan associative array atau dictionary.
●
Method untuk menambahkan 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
Map
Public interface Map{
//basic operations
Object put(Object key, Object value);
Object get(Object key);
Object remove(Object key);
boolean containsKey(Object key);
boolean containsValue(Object value);
int size();
boolean isEmpty();
//bulk operation
Void putAll(Map t);
Void clear();
//collection views
public set keySet();
public Collection values();
public Set entrySet();
}
Q&A