KomputilojProgramado

Java Array. Arrays en Java. Java por komencantoj

Array (Eng. Array) estas potenca ilo kiu permesas labori kun grandaj kvantoj de datumoj. Evidente, se vi laboras en via kodo ie vi volas konservi, ekzemple, 100 valoroj, tiam faru almenaŭ tio estas malprudenta por la sama kvanto de variabloj. Tabelo permesas stoki grandan numeron de valoroj sub sola nomo, kaj trakti ilin en la taŭga indekso. La koncepto estas la angulŝtono de tabeloj en Java studo kurson por komencantoj. Ja, ili estas la bazo por multaj datumstrukturoj.

Ĉar Java estas, ĉefe, la OLP, kompare kun tabeloj en aliaj lingvoj java programado tabelo havas unu karakteriza trajto - ili estas reprezentitaj kiel objektoj. Interalie avantaĝojn, ĝi forigas la neceson por monitori la purigado de memoro, ĉar ĝi estas liberigita aŭtomate.

Kreo kaj manipulado de ununura-dimensia arrays

Unu-dimensia tabelo estas klasika kaj Java tabelo estas kolekto de rilataj komuna nomo elementoj, ĉiu el kiu korespondas al aparta indekso. Vojo al deklari tabelo estas montritaj en la figuro malsupre.

Komence deklaris la tipo de Java tabelo, kiu specifas la tipon de valoroj kiuj estas stokitaj en ĝi. Tio povas esti ajna valida en la Java datumtipo. Sekva venas la nomo de la tabelo kaj la rektaj krampoj diri al la tradukilo, ke la variablo estas tabelo. Atentu grava fakto. La krampoj povas esti metita post la baza tipo de la tabelo, kaj post la tabelo nomo. Post la egalsigno indikas operatoro nova, komencante atribuo de memoro por la tabelo (la sama kiel en la kazo de objektoj), la tipo de elementoj por esti stokita en ĝi (por esti kongrua kun la baza tipo deklaris supre), kaj, fine, la nombro indikitaj en krampoj.

La kalkulado de elementoj en la Java tabelo komenciĝas je 0. Tiel, la indekso de la unua elemento en la tabelo estas egala al 0, kaj la sesa - 5. Por rilati al specifa elemento de la tabelo, kiel la kvina, specifi la nomon de la tabelo estas sufiĉa kaj la indico en kvadrataj krampoj apud la nomo . Tiel eblas asigni kiel la valoro de la elemento, kaj forigante ĝin. Tamen, unu devus esti zorgema, ĉar se vi pasos la indekso ĉe kiu ekzistas neniu elemento, eraro okazas.

Multidimensional arrays en Java

Multdimensia arrays estas serio de unu-dimensia, en aliaj referencita elementoj tabeloj. Alivorte, la tabeloj de tabeloj. La plej simpla de ĉi tiuj estas du-dimensia. Ilia ekzemplo ni provos kompreni la koncepton. Por klareco, la figuro malsupre montras la sintakson kaj diagramon kiu priskribas la strukturon de la du-dimensia tabelo.

Ĝi kiel povas vidi, la sintakso ne multe diferencas de la unu-dimensia arrays. Ni rigardu la strukturo. Unue, ni identigis la krampoj sub la 5 elementoj. Ĉi tiuj elementoj estas nur referencoj al individua tabeloj. La grandeco de ĉiu el ili difinita per la kvanto en la dua krampoj. Fakte, analoga dudimensia arrays en matematiko estas la matrico. Notu ke aldone al la elementoj apartan lokon, kie la valoro de la tabelo longo (longeco) estas stokita en la asignita memoro. Tipe, la laboro kun multdimensia tabeloj okazos per por nestitaj maŝojn.

malregulaj tabeloj

La du-dimensia tabelo estas tabelo de tabeloj. Ĉi ni jam trovis. Sed ĉu arrays estas enhavita en ĝi, havas malsamajn longitudojn? La respondo estas - jes, ili povas. Tiucele Java provizas la ŝancon por deklari du-dimensia tabelo en speciala maniero. Ekzemple, ni volas krei du-dimensia tabelo kiu stoki tri-dimensia tabelo de longo 2, 3 kaj 4, respektive. Li deklaris jene:

intarr [] [] = newint [3] [];

Bonvolu noti ke ni ne specifi la numeron en la dua paréntesis. Determini la grandecon de la tabelo arr estas la jena:

arr [0] = nova int [2];

arr [1] = nova int [3];

arr [2] = newint [4];

Aludante la elemento en indekso 0 punktoj al la unua tabelo, ni raportos al la dimensio de 2. La elemento indekso 1 estos gardis la dimensio tabelo 3, kaj tiel plu. Ĝi estas sufiĉe simpla.

Alternativa sintakso java tabelo anoncoj

Pravalorizi la tabeloj povas esti rekte kiam ili estas kreitaj. Ĝi estas sufiĉe simpla.

Atentu la anoncojn kaj tabeloj jerseyNumber playerName.

En la kazo de dudimensiaj aroj de tiu anonco estas la jena:

int [] [] arr = {

{1, 2, 3},

{4, 5, 6},

{7, 8, 9}

}

Por fari tion, anstataŭ la nova operatoro malfermo streĉa, en kiu komo estas printita de ĉiuj elementoj. Java en tiu kazo aŭtomate allocates memoro por ili kaj indeksoj ilin laŭe.

Helper klaso arrays

Labori kun tia estaĵoj kiel arrays en Java, en la java.util pako havas specialan klason de la arrays, kiu disponigas diversajn statikaj metodoj, ege havigante operacioj kun ili. Listo de la ĉefaj metodoj estas prezentita en la figuro malsupre.

Ni rigardu kelkajn el la plej utilaj Java tabelo metodoj:

- copyOf (tabelo longo) - resendas kopion de la transdonitaj tabelo responda longo. Se transdonitaj estas pli longa ol la originala aro, tiam ĉiuj "ekstra" elementoj estas plenaj la defaŭlta valoro (0 se la simpla tipo, kaj nula, se la referenco).

- copyOfRange (tabelo, la unua indekso, lasta indekso) - Ne montrita en la figuro, sed utila metodo. Ĝi kopiojn de la pasinta tabelo, difini taŭgajn indeksoj de la unua ĝis la lasta.

- speco (tabelo) - ordigas la elementojn de la tabelo en kreska ordo.

- ĝissate (tabelo valoro) - plenigas tabelo responda valoro transdonitaj.

- binarySearch (tabelo valoro) - redonas la indekso per kiu ero kun la responda valoro stokita en la ordo tabelo transdonitaj. Se ĉi tiu elemento mankas, la negativa nombro estas redonita.

Ekde la metodoj estas statika, nomi ilin ne bezonas krei petskribo de la klaso arrays. Estas nomitaj rekte de ĝi: Arrays.sort (arr).

konkludo

Ni reviziis la plej gravaj aspektoj rilate al la tabelo, kaj por tiuj, kiuj jxus komencis studi Java por komencantoj, tio sufiĉas por baza kompreno de tia unuo, tiel tablo, kaj la bazaj teknikoj de labori kun li. Kompreneble, la praktiko provizos pli grandan komprenon de tiu ilo. Sekve, ne mallaborema fari kelkajn ekzercojn, manipulanta tabeloj diversmaniere.

Array Java helpanto klaso estis uzita en "batalo" kondiĉoj, do ĝi rekomendas komenci lerni produkti cxiujn bazajn operaciojn kun tabeloj permane.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 eo.atomiyme.com. Theme powered by WordPress.