"Amigo, muga-muga saiki sampeyan wis ngerti carane array migunani ing pemrograman?"
"Pancen, Rishi! Aku wis ngrampungake tugas luwih saka siji."
"Apa tugas sampeyan duwe tumindak bola-bali? Jenis sing wis bola-bali."
"Yen aku ngerti sampeyan kanthi bener, tegese tumindak sing padha ing tugas sing beda-beda? Contone, ing endi wae nggunakake loop kanggo nampilake isi array - aku kesel banget nglakoni!"
"Ya, iku sing dakkarepake. Pangripta Jawa ngerteni manawa programer Jawa kerep nulis kode sing padha nalika nggarap array. Contone, kode kanggo nyalin bagean saka array menyang array liyane, utawa kode kanggo ngisi saben sel saka array sing padha. Utawa conto sampeyan: kode kanggo nampilake isi array ing wangun sing bisa diwaca ing layar.
"Lan programer nyata duwe aturan sing penting banget: aja mbaleni dhewe. Sampeyan bakal setuju yen salah nindakake karya sing ora perlu - sampeyan ora bakal dibayar. Karya sing efektif dibayar kanthi apik, percaya marang aku. kode langsung dikenali dening jumlah gedhe saka kode bola-bali.
"Pencipta Jawa mikir babagan iki, lan nggawe Arrays
kelas khusus (jeneng lengkape java.util.Arrays
), nglebokake tumindak sing ana gandhengane karo array sing paling populer."
"Hmm... Apik banget. Dadi apa sing ana?
"Akeh cara kanggo saben kesempatan, nanging pisanan kita bakal nimbang mung 10 - sing paling gampang lan asring digunakake.
Arrays.toString()
"Cara pisanan sing bakal kita deleng yaiku Arrays.toString()
. Nanging pisanan, latar mburi sethithik.
"Saben array ing Jawa nduweni toString()
metode, sing ngasilake 'representasi teks saka array'. Sampeyan bisa entuk representasi teks saka array nggunakake statement ing ngisor iki:
String str = name.toString();
"Endi name
jeneng variabel array, lan str
jeneng variabel sing bakal nyimpen perwakilan senar saka array. Amigo, sampeyan wis nyoba nyithak array menyang layar nggunakake metode ?System.out.println(name)
Aku ngakoni, sing kedadeyan. Aku weruh sawetara gibberish. Aku mutusake supaya ora mbebayani lan terus nggunakake puteran.
"Mungkin sampeyan ndeleng kaya:
I@37afeb11
"Huruf pisanan I
tegese iku int
Uploaded, lan simbol sawise @
iku alamat obyek siji ing memori. Sampeyan bisa mikir minangka alamat Uploaded ing memori. Ing tangan siji, iki sabenere informasi sing disimpen ing variabel array, nanging ing sisih liyane, sampeyan ngarepake sing beda, ta?"
"Pancen! Aku iki planning kanggo ndeleng nilai ing Uploaded. Iki bab pungkasan aku samesthine."
"Lan mulane padha teka karo metode Arrays.toString()
- kanggo nampilake nilai array. Kita nyebataken kaya mangkene:
String str = Arrays.toString(name);
Tuladha:
|
Variabel str bakal ngemot senar"[1, 2, 3]" |
|
Variabel str bakal ngemot senar"[]" |
|
Variabel str bakal ngemot senar"[Hi, How's, life?]" |
Arrays.deepToString()
"Nanging, toString()
cara kasebut ora nyukupi nalika nerangake susunan rong dimensi. Ing tembung liya, yen sampeyan nyoba nelpon Arrays.toString()
, sampeyan bakal weruh sing akrab:
[I@37afeb11, I@37afeb21, I@37afeb31]
"Iki kabeh amarga sel saka array loro-dimensi nyimpen referensi kanggo array siji-dimensi. Lan carane array siji-dimensi diowahi kanggo senar? Persis kaya sampeyan ndeleng ndhuwur.
"Apa sing kudu ditindakake? Kepiye carane nampilake array rong dimensi kanthi bener?"
"Pangripta Jawa uga ngarepake iki. Kanggo tujuan iki, Arrays
kelas duwe metode khusus liyane - deepToString()
. Nelpon katon kaya iki:
String str = Arrays.deepToString(name);
"Cara iki bisa ngliwati array sing loro-dimensi, siji-dimensi, telung dimensi utawa, umume, ukuran apa wae, lan bakal tansah nampilake unsur-unsur array.
Tuladha:
|
Variabel str bakal ngemot senar"[1, 2, 3]" |
|
Variabel str bakal ngemot senar"[[1, 1], [2, 2], [3, 3]]" |
|
Variabel str bakal ngemot senar"[[[1, 2, 3], [1]], [[]]]" |
Arrays.equals()
"We figured metu carane kanggo nampilake array ing layar. Apa bab mbandhingaké array? Apa sampeyan ngelingi cara apa sing bisa digunakake kanggo mbandhingake strings?"
"Aku biasane nggunakake equals
cara!
"Ya, equals
, lan uga equalsIgnoreCase
(sing mbandhingake senar tanpa dipikirake huruf gedhe lan cilik).
"Kabar apik: sampeyan uga bisa nggunakake equals
cara kanggo array. Kabar ala: ora mbandhingake isi array. Cara equals
array nindakake perkara sing padha karo ==
operator - mbandhingake referensi.
Tuladha:
|
false (Referensi ora padha) |
|
Cara equals mung arrays mbandhingake referensi saka rong array. false (Referensi ora padha) |
"Dadi apa sing kudu kita lakoni? Kepiye carane mbandhingake susunan adhedhasar isine?"
"Maneh Arrays
kelas teka kanggo ngluwari kita. Luwih khusus, Arrays.equals()
cara. Iki carane kita nelpon:
Arrays.equals(name1, name2)
"Cara bali true
yen susunan padha dawa lan unsur padha. Yen ora, iku bali false
.
Tuladha:
|
Cara equals mung arrays mbandhingake referensi saka rong array. false (Referensi ora padha) |
|
true (isine padha) |
|
false (isi array beda-beda) |
Arrays.deepEquals()
"Lan, kaya sing wis sampeyan bayangake, Arrays.equals
metode kasebut ora bakal bisa digunakake kanthi bener kanggo array rong dimensi: nganggep array rong dimensi kaya array siji dimensi sing unsur alamat saka array siji dimensi.
"Mangkono, kanggo mbandhingake array multidimensional kanthi bener ( n = 1, 2, 3,...
), padha teka karo Arrays.deepEquals()
metode kasebut. Nelpon katon kaya iki:
Arrays.deepEquals(name1, name2)
"Cara bali true
yen susunan padha dawa lan unsur padha. Yen ora, iku balifalse
. Yen unsur ing jero array uga array, banjur Arrays.deepEquals()
cara digunakake kanggo mbandhingake, lan liya-liyane.
Tuladha:
|
Cara equals mung arrays mbandhingake referensi saka rong array. false (Referensi ora padha) |
|
Cara kasebut Arrays.equals bakal mbandhingake lan minangka array siji-dimensi sing nyimpen referensi. Padha ngemot referensi beda. (isi array ora padha) x1 x2 false |
|
true (isine padha) |
"Matur nuwun, Rishi! Pawulangan iki mung sing dibutuhake supaya uripku luwih gampang lan luwih seneng ing mangsa ngarep. Saiki aku bakal nggunakake metode kelas Arrays lan nulis programku luwih cepet.
"Iki sing dakkarepake, ha-ha. Nanging iki ora kabeh cara sing menarik ing kelas Arrays. Aku bakal ngandhani liyane babagan liyane."
GO TO FULL VERSION