Hjem Personlig finansiering Arrayer i Java-kode - dummies

Arrayer i Java-kode - dummies

Video: Curso Java 12 - Objetos @JoseCodFacilito 2024

Video: Curso Java 12 - Objetos @JoseCodFacilito 2024
Anonim

ArrayList-klassen som brukes i mange Android-appprogrammer er bare toppen av Java-samlingenes isberg. Java-biblioteket inneholder mange samlingsklasser, hver med sine egne fordeler. Tabellen inneholder en forkortet liste.

Noen samlingsklasser

Klassenavn Karakteristisk
ArrayList En resizable array.
LinkedList En liste over verdier som hver har et felt som peker til neste

en i listen.

Stack En struktur (som vokser fra bunn til topp) som er optimalisert

for tilgang til den øverste verdien. Du kan enkelt legge til en verdi på

toppen eller fjerne den fra toppen.

Queue En struktur (som vokser i den ene enden) som er optimalisert for

legger til verdier i den ene enden (baksiden) og fjerner verdiene fra

den andre enden (fronten).

PriorityQueue En struktur, som en kø, som gjør at visse (høyere prioriterte)

-verdier beveger seg mot forsiden.

HashSet En samling som ikke inneholder dupliserte verdier.
HashMap En samling av nøkkel / verdi par.

Hver samlingsklasse har sitt eget sett med metoder (i tillegg til metodene som den arver fra AbstractCollection, forfederen til alle samlingsklassene).

En matrise er en spesiell type samling som er optimalisert for indeksering. Det vil si at du enkelt og effektivt kan finne den 100. verdien lagret i en matrise, den 1. 000. verdien lagret i en matrise, eller verdien 1 000 000 verdi lagret i en matrise.

Arrayet er en ærverdig, prøvd og sann funksjon i mange programmeringsspråk, inkludert nyere språk som Java og eldre språk som FORTRAN. Faktisk går arrayets historie tilbake så langt at de fleste språk (inkludert Java) har spesiell notasjon for å håndtere arrays. Noteringen illustrerer notasjonen for arrays i et enkelt Java-program.

pakke com. allmycode. samlinger; offentlig klasse SimpleCollectionsDemo {public static void main (String [] args) { String [] myArray = ny String [4]; myArray [0] = "Hei"; myArray [1] = ","; myArray [2] = "lesere"; myArray [3] = "!"; for (int i = 0; i <4; i ++) { System. ute. print (myArray [i]); } System. ute. println (); for (String streng: myArray) {System. ute. skriv ut (streng);}}}

Figuren viser utgangen av en kjøring av koden i oppføringen. Både vanlig for sløyfe og forsterket for sløyfe viser samme utgang.

Kjører koden i oppføringen.

I noteringen bruker den vanlige for sløyfen indekser, med hver indeks markert med firkantede parenteser.Som det er med alle Java-samlinger, er den opprinnelige verdienes indeks 0, ikke 1. Merk også tallet 4 i arrayets deklarasjon - det indikerer at "du kan lagre 4 verdier i arrayen. "

Tallet 4 betyr ikke at" du kan tilordne en verdi til myArray [4]. "Faktisk, hvis du legger til en uttalelse som myArray [4] =" Ups! "Til koden i oppføringen, får du en stygg feilmelding (ArrayIndexOutOfBoundsException) når du kjører programmet.

Uttalingen String [] myArray = new String [4] lager en tom rekkefølge og gjør myArray-variabelen til den tomme arrayen. Arrayet kan potensielt lagre så mange som fire verdier. Men i begynnelsen refererer den variabelen til en matrise som ikke inneholder noen verdier. Det er ikke før Java kjører den første oppgaveoppgaven (myArray [0] = "Hello") at arrayet inneholder noen verdier.

Du kan enkelt og effektivt finne den 100. verdien lagret i en matrise eller verdien 1 000 000 verdi lagret i en matrise. Ikke dårlig for en dags arbeid. Så, hva er ulempen ved å bruke en matrise? Den største ulempen ved en matrise er at hver matrise har en fast grense på antall verdier det kan holde. Når du lager oppstillingen i noteringen, forbeholder Java plass til så mange som fire strengverdier.

Hvis du senere i programmet bestemmer deg for at du vil lagre et femte element i matrisen, trenger du litt klumpete, ineffektive kode for å gjøre deg til et større utvalg. Du kan også overvurdere størrelsen du trenger for en matrise, som vist i dette eksemplet:

String [] myArray = new String [20000000];

Når du overvurderer, sparer du sannsynligvis mye minneplass.

En annen ubehagelig egenskap i en matrise er vanskeligheten du kan ha ved å sette inn nye verdier. Tenk deg å ha en treboks for hvert år i samlingen din Keiser Konstantin Comics . Serien dateres tilbake til år 307 A. D., da Konstantin ble leder av Romerriket.

Du har bare 1, 700 bokser fordi du mangler omtrent seks år (for det meste fra årene 1150 til 1155). Boksene er ikke nummerert, men de er stablet en ved siden av en annen i en linje som er 200 meter lang. (Linjen er så lenge 55-etasjen i skyskraperen er høy.)

I et garasjesalg i Istanbul finner du en sjelden utgave av Keiser Konstantin Comics fra mars 1152. Etter glede over din Første tegneserie fra år 1152, innser du at du må sette inn en ny boks i bunken mellom årene 1151 og 1153, som innebærer å flytte år 2013-boksen omtrent ti centimeter til venstre, og deretter flytte 2012-boksen i stedet for 2013-boksen, og deretter flytte 2011-boksen i stedet for 2012-boksen. Og så videre.

Livet for den ivrige keiseren Konstantin Comics samleren er ved å bli slitsom! Sette inn en verdi i midten av et stort utvalg er like irriterende.

Arrayer i Java-kode - dummies

Redaktørens valg

Ved hjelp av farger og gradienter med HTML5 Canvas Tag - dummies

Ved hjelp av farger og gradienter med HTML5 Canvas Tag - dummies

Nesten alle operasjoner i HTML5 lerret funksjonen implementerer en fylle eller stroke stil. For å få mest mulig ut av lerretet, må du forstå hvordan de fungerer. De tre primære typene stiler du kan bruke på fyll og slag er farger, gradienter og mønstre. Bruke farger med HTML5 lerret-merket For å spesifisere en ...

Ved hjelp av HTML for å kode websidene dine - dummies

Ved hjelp av HTML for å kode websidene dine - dummies

HTML lar deg legge til beskrivende koder på web sidetekst, for å endre utseendet, eller opprette lister, tabeller, koblinger og så videre. HTML er designet for å være noe som mennesker kan lese og at maskiner kan behandle, en form for felles grunnlag for menneskelig kommunikasjon. Anta at du vil legge til fet skrift til et ord ...

Redaktørens valg

Slik skriver du Excel-formler og -funksjoner direkte i regnearkceller - dummier

Slik skriver du Excel-formler og -funksjoner direkte i regnearkceller - dummier

Kanskje den enkleste oppføringen Metoden er å skrive en formel direkte i en celle i et Excel-regneark. Skriv bare formler som ikke inneholder noen funksjoner, og trykk Enter-tasten for å fullføre oppføringen. Prøv dette enkle eksempelet: Klikk på en celle der formelen skal skrives inn. Skriv inn denne enkle matematikkbaserte formelen: = 6 + (9/5) ...

Hvordan du skriver inn lister og seriell data ved hjelp av AutoFill i Excel 2016 - dummies

Hvordan du skriver inn lister og seriell data ved hjelp av AutoFill i Excel 2016 - dummies

I Excel 2016, kan data som faller inn i kategorien "seriell" - månedens navn, ukedag og sammenhengende tall og datoer, for eksempel - skrives inn raskt med kommandoen AutoFill. Tro det eller ei, Excel gjenkjenner visse typer seriell data og går inn i den for deg som en del av AutoFill-funksjonen. ...

Hvordan du skriver inn en funksjon i Excel med funksjonskommandoen - dummies

Hvordan du skriver inn en funksjon i Excel med funksjonskommandoen - dummies

Hvis du er ikke kjent med hvordan en funksjon fungerer i Excel - kanskje du ikke engang er sikker på hvilken funksjon du vil bruke - du må bruke Formulas-fanens Innsett Funksjon-kommando for å finne funksjonen og deretter identifisere argumentene riktig. Hvis du vil bruke kommandoen Funksjonsveiviser på denne måten, følg ...

Redaktørens valg

ÅNdelig gjenoppretting: Den samaritanske kvinne ved brønndummene

ÅNdelig gjenoppretting: Den samaritanske kvinne ved brønndummene

Den samaritanske kvinnen ved brønnen er ingen engel. Blandet opp med en feil folkemengde, denne stakkars kvinnen fra Samaria har et godt rykte. Hun hadde vært gift fem ganger og bodde i synd med en mann som ikke var hennes ektemann. Gjennom hennes historie kommer leksjonen at folk ikke burde leve av kjønnslig glede. ...

Gjenoppleve den bibelske julehistorien - dummies

Gjenoppleve den bibelske julehistorien - dummies

I stedet for bare å vises på jorden en dag eller "stråle ned" bruk Trek-talk), sier Jesus at han har kommet inn i denne verden på de mest ortodokse måtene: fødsel. Jesu utseende på jorden er kjent som inkarnasjonen, eller hva Johannes-evangeliet kaller Jesus "blir kjøtt. "Interessant nok, skjønner John ikke hendelsene ...