Innholdsfortegnelse
På et tidspunkt i vår utvikling som programvareskapere kommer vi til å støte på situasjoner der vi må gjøre mye mer komplekse ting i programmene våre, vanligvis betyr dette mer kompleks databehandling og en annen organisering av dem.Data strukturFor dette har vi Datastrukturer, som lar oss organisere informasjonen vår i programmet for å få tilgang til dem på en ryddig og skjematisk måte. I Java Vi kan håndtere forskjellige typer strukturer takket være klassene og standardbibliotekene, så hvis vi lærer hvilke vi har tilgjengelig, er det mulig at vi kan dra den nødvendige fordelen og dermed nå våre mål.
EN matrise er en type struktur som har en lineær konformasjon og kan lagre en mengde data som er av samme type. Dataene du kan lagre er primitive typer som f.eks int, bool, etc.. Men du kan også lagre objekttyper, selv om det i dette tilfellet er lagret er referansen til objektet og ikke objektet som sådan, men det er noe veldig nyttig å vite.
AdgangÅ være lineær, må tilgangen til innholdet gjøres sekvensielt, selv om vi kan peke direkte på en indeks for det og få innholdet, svarer ruten i de fleste tilfeller vi kan gjøre på denne strukturen til en sekvens av indeksene dine.
Når vi har en indeks per element er det en matrise eller endimensjonal vektorPå den annen side, når vi har mer enn en indeks per element, snakker vi om matriser flerdimensjonal, det vil si at vi i en indeks har en intern struktur med egne indekser.
Å erklære en matrise er veldig enkelt, vi trenger bare å definere hvilken type data den skal lagre og angi dimensjonene med parenteser, så må vi definere navnet på den og med det kan vi begynne å bruke den.
Selv om det er flere måter å deklarere en matrise på, er den foretrukne korte formen som vi ser nedenfor:
type [] nameArrary = ny type [lengde];
I tilfelle av en matrise flerdimensjonal vi kan gjøre det samme, men legge til de nye lagene eller dimensjonene i samme erklæring, for eksempel:
To-dimensjonal matrise:
type [] [] nameArrary = ny type [lengde] [lengde];
Tredimensjonalt utvalg:
type [] [] [] nameArrary = ny type [lengde] [lengde] [lengde];
Det eneste vi må huske på er at etter tre dimensjoner blir ting mye mer komplekse, men dette vil bli diktert av våre behov på tidspunktet for utvikling av programmet.
For å gå gjennom en matrise må vi bruke en av de iterative syklusene vi har tilgjengelig, syklusen er til en av favorittene, siden vi kan angi størrelsen på matrisen og gå gjennom hvert av elementene.
Vi må huske på at indeksene til matrisene starter fra null, så i en tre-elementers matrise ville indeksene deres være [0], [1], [2], Dette må tas i betraktning siden det ikke er en tradisjonell konto, det kan føre til forvirring.
Et generisk eksempel på hvordan du går gjennom en matrise er omtrent som følgende:
for (int i = 0; i
På samme måte som i det lille eksemplet vi har laget silketrykk av innholdet i den tilsvarende indeksen, kan vi også gjøre sekvensielle oppgaver og andre operasjoner med matrisen. Når det gjelder en flerdimensjonal matrise, må vi gjøre en syklus for hver av dimensjonene vi har, det er derfor vi snakker om at etter mer enn tre dimensjoner blir en matrise veldig kompleks.
Vi skal bygge en liten kode der vi skal definere en matrise, så skal vi ta en omvisning av elementene, og vi skal vise dem på skjermen. Så la oss se hvordan koden vår ser ut:
public class ExampleArray1 {public static void main (String [] argv) {int [] ourArray = new int [12]; for (int i = 0; i <12; i ++) {ourArray [i] = i +1; System.out.println ("Innholdet i matrisen i: [" + i + "] er:" + ourArray [i]); } System.out.println ("Den totale lengden på matrisen er:" + ourArray.length); }}
I dette programmet, det første vi gjør etter å ha definert klassen vår og metoden hoved- er å definere en matrise av typen som heter int matrisen vår som vi tilordner en lengde på 12 elementer, så med en for loop som går fra 0 til 11 skal vi tildele en verdi til hver av indeksene i arrayet, så gjør vi det umiddelbart vi skriver ut verdien og til slutt bruker vi eiendommen lengde av matrisen som lar oss få den totale lengden, og vi skriver den ut likt.
Hvis vi ser dette i konsollen vår når vi kjører programmet, får vi følgende:
FORSTØRRE
Som vi kan se, får vi en linje for hvert element i matrisen og en siste linje som angir dens virkelige størrelse, vi merker også at hvis vi teller fra 0 til 11 har vi 12 elementer, så det vi forklarer om indekstellingen er demonstrert av matrisen.Bruken av matriser er veldig populær og veldig nyttig, men det er tider når begrensningene begynner å bli sett, spesielt når vi jobber med veldig dynamiske strukturer der vi ikke vet hvor mange elementer vi vil ha på slutten og hvor vi trenger en litt mer funksjonalitet bortsett fra iterasjoner for å gå gjennom elementene.
Når vi ser oss selv i behovet for å være mer komplekse i håndteringen av data, kan vi gå til samlinger, som ikke er mer enn et antall klasser gruppert i standardbiblioteket til Java java.util og som lar oss lage andre typer datastrukturer.
I dette tilfellet skal vi utforske klassen litt ArrayList, som lar oss lage lister over matriser som navnet indikerer, men for å manipulere elementene må vi gjøre det gjennom de forskjellige metodene.
La oss se nedenfor en liten liste over tilgjengelige metoder i klassen ArrayList viktigere og at vi kanskje må lage programmene våre. Hvis vi trenger noe ekstra, kan vi alltid ty til den offisielle dokumentasjonen for språket.
Legg til ()Denne metoden lar oss legge til et element på listen enten på slutten eller i en bestemt posisjon, dette er definert ved å passere parametrene.
klar ()Renser strukturen ved å slette eller tømme alle elementene den inneholder.
få ()Den returnerer verdien av den angitte indeksen for den aktuelle listen.
ta vekk ()Denne metoden lar oss fjerne et bestemt element fra datastrukturen.
toArray ()Denne metoden lar oss lage en matrisekonvertering av innholdet i listen eller datastrukturen.
Å erklære en liste med ArrayList, vi må bare lage en forekomst av denne klassen, med dette kan vi begynne å jobbe med tildeling av elementer og innhold, for dette kan vi se følgende syntaks:
ArrayList ourList = ny ArrayList ();
Selv om vi også kan bruke en deklarasjon og samtidig tildeling av elementer som vi ser i følgende kodelinje:
List ourList = Arrays.asList ("Pedro", "Juan", "Manuel");
Turen på listen vår kan oppnås med en iterativ syklus med for () som vi allerede så i matrisene, er forskjellen at siden vi ikke vet sikkert antall elementer i listene våre, må vi definere grensen ved å bruke metoden størrelse () av det samme og for å få innholdet i en bestemt indeks bruker vi metoden få (). Et eksempel på syntaksen for denne gjennomgangen kan være følgende:
for (int i = 0; i
Nå skal vi lage et lite program hvor vi praktiserer det vi har sett om ArrayList og på denne måten spesifisere en læring om nevnte datastruktur:
importer java.util.ArrayList; public class ExampleList1 {public static void main (String [] argv) {ArrayList ourList = new ArrayList (); ourList.add ("Peter"); ourList.add ("John"); ourList.add ("Francisco"); ourList.add ("Manolo"); ourList.add ("Paul"); for (int i = 0; i
I denne koden ser vi at det første vi gjør er å importere klassen ArrayList av pakken java.util, hvis vi ikke gjør det, kan vi ikke bruke det.
Deretter har vi definert en ny liste over typeelementer String, så vil vi gjøre listen populær ved hjelp av metoden Legg til ()Som vi kan se, har vi ikke definert en elementgrense, denne listen vil vokse dynamisk når vi legger til elementer i den.
Til slutt med en syklus for () og bruker metoden størrelse () av vårt listeobjekt går vi gjennom elementene og for å få verdien av hver posisjon bruker vi metoden få () med dette kan vi deretter skrive ut innholdet. La oss se hvordan det ser ut når vi kjører det på konsollen vår:
FORSTØRRE
Med dette har vi fullført denne opplæringen, vi har allerede lært å lage og arbeide med datastrukturer i Java, vil dette tillate oss å bygge mer komplekse applikasjoner og programmer som dekker våre behov.