Dan pada kelompok kami menjelaskan tentang HashSet, HashMap, dan HashTable.
Kita langsung saja ke materinya. . . .
Sebelum membahas ke 3 hal diatas marilah kita tengok bagian2 dari class collection.
perhatikan gambar di bawah ini.
Bagian2 yang ada dalam gambar diatas merupakan interface yang menyusun kelas interface.
1. Set : Koleksi yang tidak boleh ada duplikasi nilai, dengan kata lain semua value dari class collection yang mengimplementasikan interface Set tidak boleh ada duplikasi nilai di dalamnya. Set merupakan turunan langsung dari collection class
2.List : Koleksi boleh ada duplikasi nilai dan terurut.
3.Map : Object yang memetakan object ke nilai.
4.Queue : Collection yang menjaga urutan elemenya berdasarkan FIFO.
5.SortedMap : sebuap Map yang memelihara elemen key-nya terurut secara ascending.
6.SortedSet: Sebuat set yang memelihara pemetaan elemennya secara ascennding.
Setelah mengetahui beberapa interface dari collection class, Langsung saja kita bahas HashSet, HashMap, dan Hashtable
1. HashSet
-hashSet merupakan class yang mengimplementasikan interface set.
-Set tidak mensupport dupilkasi nilai dari elemen2nya. (“www.java2s.com”)
-Adapun Constructor dari class ini adalah sbb :
Konstructor | Summary |
HashSet() | dafault konstructor, element masih kosong dengan kapasitas default 16 elemen. |
HashSet(CollectionE> c) | Konstructor dengan parameter sebuah spesifik class collection |
HashSet(int initialCapacity) | Sebuah konstructor, dengan element masih kosong dengan kapasitas default sesuai parameter initialCapacity elemen. |
HashSet(int initialCapacity, float loadFactor) | Sebuah konstructor, dengan element masih kosong dengan kapasitas default sesuai parameter initialCapacity elemen dan loadfactor |
-adapun method2nya adalah…
nilai bailk | Method |
boolean | add(E e) |
void | clear() |
Object | clone( ) Mengcopy HashSet ini secara instan |
boolean | contains(Object o) |
boolean | isEmpty() |
Iterator<E> | iterator() |
boolean | remove(Object o) |
int | size() |
Example :
import java.util.*;
/**
** @author Administrator*/public class HashetExample {public static void main(String args[]){//inisialisai Hashset
HashSetsetHash = new HashSet (); pr("=======================================");
pr("Masukkan element 1 : " +setHash.add("Element 1"));pr("Masukkan element 2 : " +setHash.add("Element 2"));pr("Masukkan element 3 : " +setHash.add("Element 3"));//akan bernilai false karena elemen 1 sudah ada.
pr("Masukkan element 1 : " +setHash.add("Element 1"));pr("\n=======================================");
//ambil element menggunakan iterator
Iteratoriter= setHash.iterator(); while(iter.hasNext()){
pr(iter.next());}}static void pr(Object o){System.out.println(o);}}Output :Masukkan element 1 : true
Masukkan element 2 : true
Masukkan element 3 : true
Masukkan element 1 : false
=======================================Element 3Element 2Element 1
2.HashMap
-HashMap merupakan class yang mengimplementasikan interface Map
-Karena HashMap merupakan implentasi dari interface Map, maka HashMap menpunyai sebuah key untuk elemen yang ada di dalamnya. Seperti halnya element, key tersebut merupakan sebuah object juga.
-Tidak boleh ada duplicate key dalam sebuah Map (dan anak cucunya).
-adapun konctructor dari class ini adalah sbb:
Konstructor Dari HashMap |
HashMap() Default kostructor, dengan element kosong dan default kapasitas element 16. |
HashMap(int initialCapacity) KOnstruntor untuk instance Hashmap dengan parameter initialCapacity yang merupakan kapasitas dari hashmap tsb. |
HashMap(int initialCapacity, float loadFactor) Hampir sama dengan kostructor diatas akan tetapi ada parameter tambahan berupa loadFactor |
HashMap(MapK,? extends V> m) KOnstructor dengan parameter Map m, sehingga HashMap akan otomatis terisi. |
-Method2 yang ada dalam HashMap :
Nilai Balik | Methods |
void | clear() Menghapus seluruh map (key dan value) |
Object | clone() mengembalikan hasil cloning dari HashMap. |
boolean | containsKey(Object key) Akan true jika ada object key dalam collection key di hashMap |
boolean | containsValue(Object value) |
Set<Map.Entry<K,V>> | entrySet() Mengembalikan nilai set dari HashMap |
V | get(Object key) mengembalikan Sebuah object dari value sesuasi dengan parameter key. |
boolean | isEmpty() mengembalikan nilai true jika HashMap dalam keadaan kosong |
Set<K> | keySet() Mengembalikan sebuah object Set dari keys yang ada di HashMap. |
V | put(K key, V value) Meletakkan Value dalam sebuah map sesuai dengan key nya. |
void | putAll(MapK,? extends V> m) meletakkan sebuah Map kedalam HashMap. |
V | remove(Object key) Menghapus value tertentu sesuai dengan parameter key |
int | size() mengembalikan jumlah values yang ada di dalam hashMap |
Collection<V> | values() mengembalikan seluruh values ke dalam bentuk Object Collection |
Example :
import java.util.*;
/**
** @author Administrator*/public class HashMapExample {public static void main(String args[]){//inisialisai default HashMap
HashMapmapHash = new HashMap (); mapHash.put("key 1", "elemen 1");mapHash.put("key 2", "elemen 2");mapHash.put("key 3", "elemen 3");//akan dimasukkan karena menggantikan elemen sebelumnya
mapHash.put("key 1", "elemen 5");//Set
kunci = mapHash.keySet(); //Iterator
key = kunci.iterator(); Iteratorkey = mapHash.keySet().iterator(); String keyTemp = "";while(key.hasNext()){
keyTemp = key.next();pr("kunci : "+keyTemp+", elemen : "+mapHash.get(keyTemp));}}static void pr(Object o){System.out.println(o);}}Output:kunci : key 1, elemen : elemen 5kunci : key 2, elemen : elemen 2kunci : key 3, elemen : elemen 3BUILD SUCCESSFUL (total time: 0 seconds)
3.HashTable
–class Hashtable dapat memapingkan object keys dan value. Null object bisa digunakan di sebagai key ataupun value.
-agar berhasil melakukan pertukaran data., object yang digunakan sebagai key harus mengimplemntasikan method hashCode ( ) & equals ( ).
- adapun konstructor2 nya adalah sbb :
Konstructor Dari HashMap |
Default kostructor, dengan element kosong dan default kapasitas element 16. |
KOnstruntor untuk instance Hashtable dengan parameter initialCapacity yang merupakan kapasitas dari hashmap tsb. |
Hampir sama dengan kostructor diatas akan tetapi ada parameter tambahan berupa loadFactor |
KOnstructor dengan parameter Map m, sehingga Hashtable akan otomatis terisi. |
-Example :
import java.util.*;
/**
** @author Administrator*/public class HashtableExample {public static void main(String args[]){//inisialisai default HashTable
HashtableTableHash = new Hashtable (); TableHash.put(new Person("joko", 21), "elemen 1");TableHash.put(new Person("susilo", 21), "elemen 2");TableHash.put(new Person("rosy", 21), "elemen 3");TableHash.put(new Person("laburger", 31), "elemen 4");//akan di inject
TableHash.put(new Person("laburger", 21), "elemen 4");Person temp = null;
Enumerationenumkey = TableHash.keys(); while(enumkey.hasMoreElements()){
temp = enumkey.nextElement();pr("key : "+temp + ", elemen : "+TableHash.get(temp));}}static void pr(Object o){System.out.println(o);}}class Person{
private String name;
private int umur;public String getName() {
return name;
}public void setName(String name) {this.name = name;
}public int getUmur() {return umur;
}public void setUmur(int umur) {this.umur = umur;
}public Person(String name, int umur){this.name = name;
this.umur = umur;
}@Overridepublic boolean equals(Object obj) {if(obj instanceof Person){if( (((Person)obj).getName().equals(this.name)) && (((Person)obj).getName().equals(this.name))) {return true;}else
return false;}else
return false;}@Overridepublic int hashCode() {return this.name.length() + this.umur;}@Overridepublic String toString() {
return "Person dengan nama : "+this.name + ", umur : "+this.umur;}}output:key : Person dengan nama : laburger, umur : 21, elemen : elemen 4key : Person dengan nama : laburger, umur : 31, elemen : elemen 4key : Person dengan nama : susilo, umur : 21, elemen : elemen 2key : Person dengan nama : rosy, umur : 21, elemen : elemen 3key : Person dengan nama : joko, umur : 21, elemen : elemen 1BUILD SUCCESSFUL (total time: 0 seconds)
Untuk contoh program HashSet, HashMap, dan HashTable bisa di download disini:
Semoga ilmu yang sedikit ini bermanfaat. Amiieee......n ^_^
sumber: http://ilhamiarie.wordpress.com/2009/12/01/java-collection-framework-hashtable-hashmap-hashset/
No comments:
Post a Comment