340 likes | 510 Views
Kelas-kelas Dasar di Java. Kelas Wraper. Dua fungsi utama kelas wraper
E N D
KelasWraper Duafungsiutamakelaswraper • menyediakanmekanismeuntukmembungkus data primitifkedalamobyeksehingga data primitifinidapatmenggunakanoperasi-operasi yang khususdiperuntukkanuntukobyek, sepertipenambahankedalamkoleksiataupengembaliandarisebuahmethod yang mengembalikansebuahobyek;
menyediakansatu set fungsiutilityuntuk data primitif. Sebagianbesardarifungsi-fungsiiniberhubungandengankonversi data primitifdarisatubentukkebentuk yang lainnya, sebagaicontoh, mengubah data primitifkedalambentuk String dansebaliknya, mengubah data primitifkedalambentuk basis yang berbeda-beda (binary, octal, dandecimal).
Setiap data primitifdalam Java memilikikelaswrapper yang bersesuaian. Sebagaicontoh, kelaswrapperuntukintadalahInteger, untukfloatadalahFloat, dansebagainya. Yang patutdiingatadalahnamadarikelaswrappersuatu data primitifadalahsamadengantipe data primitif yang bersesuaiandenganhurufpertamanyadalambentukhurufbesar, kecualiuntuktipe data chardengankelaswrapperCharacter, danintdengankelaswrapperInteger.
Data PrimitifdanKelasWrapper yang SejenisBesertaKonstruktornya
Obyekwrapperbersifatimmutable, yang berartibahwasekalidiberikannilaipadasebuahobyekwrapper, nilainyatidakdapatdiubah. • Semuakelaswrapper, (kecualiCharacter), menyediakanduabuahkonstruktor: satukonstruktormenggunakannilaiprimitif yang bersesuaian, dankonstruktor yang lain menggunakan String yang merupakanrepresentasidari data primitif yang akandibungkusdidalamkelaswrapper.
Integer i1 = new Integer(42); Integer i2 = new Integer(“42”); atau Float f1 = new Float(3.14); Float f2 = new Float(“3.14”);
Untukkelaswrapper Character, iahanyamenyediakansatubuahkonstruktor, yang mengambilnilai char sebagaiargumen. Sebagaicontoh : Character c1 = new Character(‘c’);
MethodstatikvalueOf() yang disediakandisebagianbesarkelaswrapper (kecualikelaswrapper Character) memberikancara lain untukmembuatobyekwrapper. • Methodinimenggunakan String yang merepresentasikan data primitif yang bersesuaiansebagaiargumen Integer i2 = Integer.valueOf(“100”); Float f2 = Float.valueOf(“3.14f”);
Method-method dalamkelas wrapper untukmengkonversinilai xxxValue() Ketikainginmengubahobyekwrapperke dalam data primitif, dapatdigunakansalah satudarimethod xxxValue() ini. Semua methodinitidakmenggunakanargumen.
Integer i2 = new Integer(42); byte b = i2.byteValue(); short s = i2.shortValue(); double d = i2.doubleValue(); atau Float f2 = new Float(3.14f); short s = f2.shortValue(); System.out.println(s);
parseXxx () danvalueOf() parseXxx() mengembalikannilaiprimitif yang sesuaidengankelaswrapper-nya; valueOf() mengembalikansebuahobyek wrapper yang tipenyasamadengankelaswrapper yang memanggilmethodtersebut. double d4 = Double.parseDouble("3.14"); System.out.println("d4 = " + d4); Double d5 = Double.valueOf("3.14");
toString() Setiapkelaswrappermemilikimethod toString() yang tidakmemilikiargumendan tidakstatik. Methodinimengembalikannilai berupaobyek String yang merepresentasikan nilaiprimitif yang dibungkusolehkelas wrapper-nya. Sebagaicontoh : Double d = new Double(“3.14”); System.out.println(“d = “+d.toString() );
KelasKoleksi • Koleksimerupakanentitasyang merepresentasikansekumpulanobyek. Obyek yang beradadidalamsebuahkoleksidisebutelemen. Koleksibiasanyaberkaitandenganberagamtipeobyek yang kesemuanyamerupakanturunandaritipeobyektertentu.
Collection – merupakansekumpulanobyek yang disebutsebagaielemen. ImplementasidariCollectioniniakanmenentukanapakahadaaturanmengenaiorderingtertentudanapakahduplikasielemendiperbolehkandidalamnya. • Set – merupakansebuahkoleksi yang tidakmemilikiaturanunordereddimanadidalamnyatidakbolehadaduplikasielemen. • List – merupakansebuahkoleksi yang memilikiaturanordereddimanadidalamnyaduplikasielemendiperbolehkan.
Semuajeniskoleksimemilikireferensike obyek-obyekdengantipeObject. Hal ini memungkinkansemuajenisobyekuntuk disimpandidalamkoleksi. Implikasidari elemendalamkoleksi yang bertipeObject adalahharusdigunakanprosescasting yang benarketikamengambilsebuahelemendari dalamkoleksi.
Set Dalamcontohkodeberikutini, dideklarasikansebuahvariabel (set) dengantipe Set. LaludiinisialisasivariabelinidengansebuahobyekHashSet. Selanjutnyaditambahkanbeberapaelemenkedalamnyadanmencetakisidarivariabel set keoutputstandar.
import java.util.*; public class SetExample { public static void main(String[] args) { Set set = new HashSet(); set.add("one"); set.add("second"); set.add(new Integer(4)); set.add("second"); //duplikasi, tidakditambahkan set.add(new Integer(4));//duplikasi,tidak //ditambahkan System.out.println(set); } }
List • Dalamcontohkodeberikutini, dideklarasikansebuahvariabel (list) dengantipeList. Selanjutnya, variabelinidiinisialisasidengansebuahobyekArrayList. Selanjutnyaditambahkanbeberapaelemenkedalamnyadanmencetakisidarivariabel list keoutputstandar. Berbedadengancontohsebelumnya, padacontohiniberhasildilakukanpenambahanelemen yang terduplikasi.
import java.util.*; public class ListExample { public static void main(String[] args) { List list = new ArrayList(); list.add("one"); list.add("second"); list.add("3rd"); list.add(new Integer(4)); list.add(new Float(5.0F)); list.add("second"); //duplikasiditambahkan list.add(new Integer(4));//duplikasiditambahkan System.out.println(list); } }
Iterator • Sebuahkoleksidapatdiiterasidenganmenggunakaniterator. InterfaceIteratormemungkinkanuntukmelakukaniterasisecaraforward. Padakasusiterasididalamsebuahobyek Set, langkahiterasinyatidakdapatditentukansementaralangkahiterasipadasebuahlistadalahbergerakmaju. Sebuahobyek List jugamendukungpenggunaanListIterator yang memungkinkanprosesiterasisecarabackward. Kode program dibawahinimenggambarkanpenggunaaniterator:
List l1 = new ArrayList(); Iterator elements = l1.Iterator(); while(elements.hasNext()) { System.out.println(elements.next()); }
Method remove() digunakanuntukmenghapus item didalamsebuahiterasi. Jikasalahsatukoleksitidakmendukungprosespenghapusanini, makaexceptionUnsupportedOperationExceptionakandilemparkan. • ListIteratorbergeraksatuarah, yaitubegerakmajudenganmenggunakanmethod next() ataumundurdenganmenggunakanmethod previous(). Jikamenggunakan method previous() setelahmenggunakanmethod next() akandiperolehelemensebelummemanggilmethod next(). Begitujugasebaliknya.
Method set mengubahelemen yang ditunjukolehkursoriterator. Method add menambahelemenbarukedalamkoleksipadaposisisebelumkursoriterator. Dengandemikian, jikamemanggilmethod previous setelahpemanggilanmethod add, akandiperolehelemen yang barudimasukkankedalamkoleksitersebut. Jikaprosespenyetingandanpenambahanelementidakdidukungolehkoleksi yang bersangkutan, makaUnsupportedOperationExceptionakandilemparkan.
Vector • Vector merupakan elemen koleksi dari tipe object yang bekerja seperti array. Vector mengimplementasi interface List • Interface List mendefinisikan konsep data secara berurutan sehingga kita bisa mendapati data awal, akhir, berikutnya, dan sebelumnya • Vector menyimpan referensi ke objek • Vector memiliki kemiripan dengan ArrayList, perbedaannya adalah vector tidak melakukan sinkronisasi sedangkan ArrayList melakukan sinkronisasi otomatis
Konstuktor vector • Vector namaVektor = new Vector() menghasilkan elemen dengan kapasitas 10 elemen. Apabila kurang, maka akan menambah kapasitasnya dua kali lipat secara otomatis • Vector namaVector = new Vector(int a) menghasilkan vector sebesar a elemen. Apabila kurang, maka akan menambah kapasitasnya dua kali lipat secara otomatis
Vector namaVektor = new Vector( int a, int b) menghasilkan vector dengan kapasitas a, jika kurang maka akan menambah kapasitasnya sebanyak b secara otomatis
Method-method dalam vector • add(indeks, object) add(object): menambahkan object berurutan, dari indeks 0 lalu ke indeks berikutnya • set(indeks, object) menyisipkan object pada posisi indeks • get(indeks) mendapatkan object pada posisi indeks yang diinginkan
firstElement(): mendapatkan objek pada elemen pertama dari vector • size(): mendapatkan ukuran vektor yang telah digunakan • capacity(): mendapatkan ukuran kapasitas vector • remove(indeks): menghapus objek pada indeks • clear(): menghapus semua objek di dalam vektor