Cuprins
La un moment dat în dezvoltarea noastră ca creatori de software, vom întâlni situații în care trebuie să facem lucruri mult mai complexe în cadrul programelor noastre, în general, acest lucru se traduce printr-o gestionare mai complexă a datelor și o organizare diferită a acestora.Structură de datePentru aceasta avem Structuri de date, care ne permit să ne organizăm informațiile în cadrul programului pentru a le putea accesa într-un mod ordonat și schematic. În Java Putem gestiona diferite tipuri de structuri datorită claselor sale și bibliotecilor standard, așa că, dacă aflăm care sunt cele disponibile, este posibil să putem profita de avantajele necesare și astfel să ne îndeplinim obiectivele.
A matrice este un tip de structură care are o conformație liniară și poate stoca o cantitate de date care este de același tip. Datele pe care le puteți stoca sunt tipuri primitive, cum ar fi int, bool etc.. Dar puteți, de asemenea, să stocați tipuri de obiecte, deși în acest caz este stocat este referința la obiect și nu obiectul ca atare, totuși este ceva foarte util de știut.
AccesFiind liniar, accesul la conținutul său trebuie făcut secvențial, deși putem indica direct către un index al acestuia și putem obține conținutul acestuia, ruta în cele mai multe cazuri pe care o putem face pe această structură răspunde unei secvențe a indexurilor dvs.
Când avem un index pe element este un tablou sau vector unidimensionalPe de altă parte, când avem mai mult de un indice pe element, vorbim despre tablouri multidimensional, adică în cadrul unui index avem o structură internă cu indici proprii.
Declararea unei matrice este foarte simplă, trebuie doar să definim tipul de date pe care urmează să le stocheze și să indicăm dimensiunile cu paranteze, apoi trebuie să definim numele acesteia și cu aceasta putem începe să o folosim.
Deși există mai multe moduri de a declara o matrice, cea preferată este forma scurtă așa cum vedem mai jos:
tip [] numeArariar = nou tip [lungime];
În cazul unui tablou multidimensional putem face același lucru, dar adăugând noile straturi sau dimensiuni în cadrul aceleiași declarații, de exemplu:
Matrice bidimensională:
tip [] [] numeArariar = nou tip [lungime] [lungime];
Matrice tridimensională:
tip [] [] [] numeArrar = nou tip [lungime] [lungime] [lungime];
Singurul lucru pe care trebuie să-l avem în vedere este că după trei dimensiuni lucrurile devin mult mai complexe, dar acest lucru va fi dictat de nevoile noastre în momentul dezvoltării programului.
Pentru a parcurge o matrice trebuie să folosim unul dintre ciclurile iterative pe care le avem disponibile, ciclul fiind pentru una dintre favorite, deoarece putem indica dimensiunea matricei și putem parcurge fiecare dintre elementele sale.
Trebuie să avem în vedere că indicii matricilor încep de la zero, deci într-o matrice cu trei elemente indicii lor ar fi [0], [1], [2], Acest lucru trebuie luat în considerare, deoarece nu este un cont tradițional, poate duce la confuzie.
Un exemplu generic despre cum să parcurgeți o matrice este ceva de genul următor:
pentru (int i = 0; i
În același mod în care, în acel mic exemplu, am realizat serigrafia conținutului indexului corespunzător, putem face și asignări secvențiale și alte operații cu matricea. În cazul unui tablou multidimensional, trebuie să facem un ciclu pentru fiecare dintre dimensiunile pe care le avem, de aceea vorbim că după mai mult de trei dimensiuni un tablou devine foarte complex.
Vom construi un mic cod în care vom defini o matrice, apoi vom face un tur al elementelor sale și le vom arăta pe ecran. Deci, să vedem cum arată codul nostru:
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 ("Conținutul matricei din: [" + i + "] este:" + Arrayul nostru [i]); } System.out.println ("Lungimea totală a matricei este:" + lungimea noastră de matrice); }}
În acest program, primul lucru pe care îl facem după definirea clasei noastre și a metodei principal este de a defini o matrice de tip int int matricea noastră căruia îi atribuim o lungime de 12 elemente, apoi cu o buclă for care merge de la 0 la 11 vom atribui o valoare fiecăruia dintre indicii matricei, apoi o facem imediat îi imprimăm valoarea și, în final, o folosim proprietatea lungime a matricei care ne permite să obținem lungimea totală și o imprimăm în mod egal.
Dacă vedem acest lucru în consola noastră atunci când executăm programul, vom obține următoarele:
MARI
După cum putem vedea, obținem o linie pentru fiecare element al matricei și o linie finală care indică dimensiunea sa reală, observăm, de asemenea, că, dacă numărăm de la 0 la 11, avem 12 elemente, deci ceea ce explicăm despre numărul indexului este demonstrat de matrice.Utilizarea matricelor este foarte populară și foarte utilă, cu toate acestea există momente în care limitele sale încep să fie văzute, mai ales când lucrăm cu structuri foarte dinamice în care nu știm câte elemente vom avea la final și unde avem nevoie de un puțin mai multă funcționalitate în afară de iterații pentru a parcurge elementele sale.
Când ne vedem în nevoia de a fi mai complexi în tratarea datelor, putem merge la colecții, care nu sunt altceva decât un număr de clase grupate în biblioteca standard a Java java.util și care ne permit să creăm alte tipuri de structuri de date.
În acest caz, vom explora puțin cursul ArrayList, care ne permite să creăm liste de matrici așa cum indică numele său, dar pentru a manipula elementele sale trebuie să o facem prin diferitele sale metode.
Să vedem mai jos o mică listă a metodelor disponibile ale clasei ArrayList mai important și că este posibil să trebuiască să ne creăm programele, dacă avem nevoie de ceva suplimentar, putem apela întotdeauna la documentația oficială a limbii.
adăuga ()Această metodă ne permite să adăugăm un element la listă fie la sfârșit, fie într-o anumită poziție, acest lucru este definit prin trecerea parametrilor.
clar ()Curăță structura ștergând sau golind toate elementele pe care le conține.
obține ()Returnează valoarea indicelui indicat al listei în cauză.
elimina ()Această metodă ne permite să eliminăm un anumit element din structura datelor.
toArray ()Această metodă ne permite să realizăm o conversie matricială a conținutului listei sau al structurii datelor.
Pentru a declara o listă cu ArrayList, trebuie pur și simplu să creăm o instanță a acestei clase, cu aceasta putem începe să lucrăm la atribuirea elementelor și a conținutului, pentru aceasta putem vedea următoarea sintaxă:
ArrayList ourList = new ArrayList ();
Deși putem folosi, de asemenea, o declarație și alocarea simultană a elementelor așa cum vedem în următoarea linie de cod:
Listează lista noastră = Arrays.asList („Pedro”, „Juan”, „Manuel”);
Turul listei noastre poate fi realizat cu un ciclu iterativ cu pentru () pe care l-am văzut deja în tablouri, diferența este că, din moment ce nu știm sigur numărul de elemente din listele noastre, trebuie să definim limita folosind metoda mărimea () din același și pentru a obține conținutul într-un anumit index folosim metoda obține (). Un exemplu de sintaxă pentru această prezentare ar putea fi următorul:
pentru (int i = 0; i
Acum vom crea un mic program în care vom pune în practică ceea ce am văzut despre ArrayList și, în acest mod, specificați o învățare despre structura de date menționată:
import 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"); pentru (int i = 0; i
În acest cod vedem că primul lucru pe care îl facem este să importăm clasa ArrayList a pachetului java.util, dacă nu, nu vom putea să-l folosim.
Apoi am definit o nouă listă de elemente de tip Şir, apoi vom populariza lista folosind metoda adăuga ()După cum putem vedea, nu am definit o limită de element, această listă va crește dinamic pe măsură ce adăugăm elemente la ea.
În cele din urmă cu un ciclu pentru () și folosind metoda mărimea () din obiectul listei noastre parcurgem elementele sale și pentru a obține valoarea fiecărei poziții folosim metoda obține () cu aceasta putem imprima apoi conținutul. Să vedem cum arată când îl rulăm pe consola noastră:
MARI
Cu aceasta am terminat acest tutorial, am învățat deja să creăm și să lucrăm cu structurile de date din interior Java, acest lucru ne va permite să construim aplicații și programe mai complexe care să răspundă nevoilor noastre.