Lær Java for Android Development Arbeide med Arrays

Denne raske leksjonen viser hvordan du arbeider med arrays i Java. Denne leksjonen er en del av en kontinuerlig serie av opplæringsprogrammer for utviklere som lærer Java for å utvikle Android-applikasjoner.

Hva er en Array?

Et array er en felles datastruktur som brukes til å lagre en bestilt liste over elementer. Matriseelementene er skrevet. For eksempel kan du opprette en rekke tegn for å representere vokaler i alfabetet:

char aVowels [] = 'a', 'e', ​​'i', 'o', 'u'; 

Mye som C eller C + +, er Java-arrayer numerisk indeksert på et 0-basert system. Dette betyr at det første elementet i arrayet (det vil si 'a') er på indeks 0, det andre ('e') er på indeks 1 og så videre.

Java gjør det enklere å arbeide med arrays enn mange andre programmeringsspråk. Selve arrayet er et objekt (av typen array), med alle fordelene derav. For eksempel kan du alltid kontrollere størrelsen på en matrise ved hjelp av egenskapens lengde:

int lengde = aVowels.length; 

Hva kan jeg lagre i et array?

Du kan lagre et hvilket som helst objekt eller primitiv type i en matrise. For eksempel kan du lagre heltall i en matrise:

int aNums [] = 2, 4, 6; 

Eller du kan lagre ikke-primitive typer som Strings (eller noen annen klasse) i en matrise:

String aStooges [] = "Larry", "Moe", "Curly"; 

Noen ganger kan det hende du vil lagre objekter av forskjellige typer i en matrise. Du kan alltid dra nytte av arv og bruke en overordnet klasse for array-typen. For eksempel er Objeklassen mor til alle klasser ... slik at du kan lagre forskjellige typer i et enkelt array som dette:

flyte en = 1.0f; Heltal to = nytt helhet (2); String tre = "tre"; Objekt aObjects [] = ett, to, tre; 

Elementene i et Java objekt array er referanser (eller håndterer) til objekter, ikke egentlige forekomster av objekter. En elementverdi er null til den er tilordnet en gyldig forekomst av en objekt (det vil si at arrayet initialiseres automatisk, men du er ansvarlig for å tildele sine verdier).

Deklarere Arrays

Det finnes flere måter å deklarere en array på i Java. Som du har sett, kan du erklære en matrise og umiddelbart gi sine elementer ved hjelp av C-style squiggly bracket-syntaksen. For eksempel erklærer følgende Java-kode en rekke integer med lengde 3 og initialiserer arrayet i en linje:

int aNums [] = 2, 4, 6; 

Du kan også deklarere en matrise av en bestemt størrelse og deretter tilordne verdien av hvert element individuelt, slik som dette:

dobbelt aPowersOfTwo [] = ny dobbelt [5]; aPowersOfTwo [0] = Math.pow (2,0); aPowersOfTwo [1] = Math.pow (2,1); aPowersOfTwo [2] = Math.pow (2,2); aPowersOfTwo [3] = Math.pow (2,3); aPowersOfTwo [4] = Math.pow (2,4); 

Dette tilsvarer å skape et array som dette:

dobbelt aPowersOfTwoExplicit [] = 1.0d, 2.0d, 4.0d, 8.0d, 16.0d; 

Det finnes flere andre måter å lage arrayer på. For eksempel kan du opprette array-variabelen og tildele den separat ved hjelp av det nye søkeordet. Du kan også sette array parentes før variabelenavnet, hvis du ønsker (dette er et stilproblem). For eksempel definerer følgende Java-kode en rekke strengelementer og tilordner dem deretter individuelt:

String [] aStopLightColors; aStopLightColors = ny String [3]; aStopLightColors [0] = ny String ("rød"); aStopLightColors [1] = ny String ("gul"); aStopLightColors [2] = ny String ("grønn"); 

Endre Array Innhold

Som du har sett, kan du tilordne arrayverdier ved hjelp av braketssyntaxen:

Du kan også hente arrayverdier etter indeks. For eksempel kan du få tilgang til det andre elementet i gruppen som heter aStopLightColors (definert i forrige seksjon) som følger:

String strCurrentLightColor = aStopLightColors [1]; 

Iterating Arrays

Endelig brukes arrayer ofte som en bestilt liste over objekter. Derfor kan du oppdage at du vil iterere gjennom arrayet for å få tilgang til hvert element metodisk.

Det finnes en rekke måter å gjøre dette på i Java. Fordi du alltid kan kontrollere størrelsen på en matrise programmatisk, kan du bruke noen av de typiske for eller mens sløyfemetoder du kan finne kjent. For eksempel erklærer følgende Java-kode et enkelt heltall-tall med tre tall og bruker en enkel for-loop for å iterere gjennom elementene:

int aNums [] = 2, 4, 6; for (int i = 0; i < aNums.length; i++)  String strToPrint = "aNums[" + i + "]=" + aNums[i];  

Java gir også en veldig praktisk for-hvert loop for å iterere gjennom arrays på en vennlig måte. For-hver-sløyfen bidrar til å unngå dumme programmeringsfeil så vanlige i sløyfer (feil-for-en-feil, etc.). For å bruke syntaxen for hver loop, må du definere loop-variabelen, sett deretter et kolon, og angi deretter navnet på din matrise. For eksempel gir den følgende koden den samme sløyfestrukturen som forrige sløyfe vist ovenfor:

for (int num: aNums) String strToPrint = num;  

Som du ser, er for-hver krets glatt. Du vet imidlertid ikke lenger indeksen mens den er iterert. Dermed kan den ikke brukes i alle situasjoner.

Konklusjon

I denne korte leksjonen har du lært om arrays i Java. Arrays er en grunnleggende datastruktur som brukes til Java-programmering som lagrer et bestilt antall objekter av en gitt type på en organisert måte. I Java er arrays objekter selv og lagrer referanser til objekter, og gjør oppgave og bruk lettere (men subtilt annerledes) enn hvordan arrays er ansatt i andre programmeringsspråk.

Om forfatterne

Mobilutviklere Lauren Darcey og Shane Conder har medforfatter flere bøker om Android-utvikling: en grundig programmeringsbok med tittel Android Wireless Application Development og Sams TeachYourself Android Application Development i 24 timer. Når de ikke skriver, bruker de sin tid på å utvikle mobil programvare hos deres firma og tilby konsulenttjenester. De kan nås via e-post til [email protected], via bloggen deres på androidbook.blogspot.com, og på Twitter @androidwireless.