introduction java arrays
Acest tutorial introduce conceptul matricelor în Java. De asemenea, am introdus subiecte conexe, cum ar fi Lungimea, tipurile de date, Clonarea, Copierea, Sortarea etc., în matricile Java:
În programare, vă ocupați întotdeauna de date. Datele trebuie stocate în locații de memorie și pentru a le accesa din când în când și a le procesa în consecință, trebuie să i se dea un anumit nume. Acest lucru se face prin variabile.
Astfel, dacă doriți să stocați valoarea 10 în memorie, veți declara o variabilă de tip int și veți stoca valoarea ca int num = 10;
Acum presupunem că cerința programului dvs. este de așa natură încât aveți nevoie de 10 variabile de tip int.
În acest caz, va trebui să declarați 10 variabile de tip int după cum urmează:
int a1;
int a2;
int a3;
int a4;
int a5;
int a6;
int a7;
int a8;
int a9;
int a10;
Declarațiile de mai sus vor pune sarcina inutilă a întreținerii asupra programatorului. În loc să declarați atât de multe variabile, ce zici de declararea unei singure variabile și apoi să aveți toate aceste 10 valori atribuite acestei variabile? Aceasta este ceea ce vom face atunci când definim o matrice și îi atribuim valori.
Să începem cu matrici în Java.
tutorial server pentru fundația echipei pentru începători
Ce veți învăța:
- Java Array
- Java Array - Creare și inițializare
- Elemente de imprimare în matrice Java
- Lungimea matricei în Java
- Tipuri de date Java Array
- Java String Array și diverse metode
- Matrice multi-dimensionale în Java
- Java Array Of Objects
- Returnează o matrice în Java
- Clasa Java Array
- Matrice în Java 8
- întrebări frecvente
- Concluzie
Java Array
Tablourile nu sunt altceva decât o structură de date care este utilizată pentru a păstra elementele de date de același tip într-un mod secvențial. Din exemplul de mai sus, puteți schimba definiția a zece variabile într-o singură variabilă și puteți stoca toate cele zece valori folosind indicii.
Să o facem în modul dat mai jos:
A (0) = 1;
A (1) = 2;
A (2) = 3;
A (3) = 4;
A (4) = 5;
A (5) = 6;
A (6) = 7;
A (7) = 8;
A (8) = 9;
A (9) = 10;
Am stocat toate cele zece valori într-o variabilă bazată pe index. Primul index începe de la 0. Deci prima valoare este la 0aindex și ultima valoare este la 9aindex. Acești indici se mai numesc și Indici.
În memoria computerului, matricea A de mai sus va fi reprezentată ca:
Acum putem defini o matrice ca o variabilă care este o colecție de elemente de același tip de date și stocate în locații de memorie adiacente. Dimensiunea unui tablou este specificată în momentul declarării și, prin urmare, dimensiunea este fixă.
Tablourile pe care le vom discuta în acest tutorial sunt tablouri de dimensiuni fixe sau statice. Java acceptă, de asemenea, matrice dinamice numite „ArrayList” a căror dimensiune poate fi modificată din mers. Vom discuta în detaliu ArrayList mai târziu.
Unele dintre caracteristicile matricilor din Java sunt enumerate mai jos:
- În Java, o matrice este un obiect instanțiat dintr-o clasă generată dinamic.
- Intern, matricea Java implementează interfețe serializabile și clonabile.
- Matricea Java are, de asemenea, clasa obiect ca clasă părinte.
- Puteți stoca valori de tip încorporate și derivate în matrice Java.
- Puteți obține lungimea unui tablou folosind membrul de lungime și nu sizeof ca în C / C ++.
- Java permite matrici unice și multidimensionale.
În acest tutorial, vom introduce toate conceptele matrice cititorului pe care îl urmăm
pentru a acoperi în această serie despre Java Arrays.
Să începem!!
Java Array - Creare și inițializare
Trebuie create matrici pentru a le utiliza în program. Crearea matricelor include specificarea tipului de date al elementelor pe care matricea le va deține, precum și numărul de elemente pe care matricea le va conține.
Vom discuta despre crearea matricelor în diferite moduri și, de asemenea, în diferite metode folosind care putem inițializa matricele.
Un exemplu al uneia dintre metodele utilizate pentru crearea și inițializarea matricei este dat mai jos.
public class Main { public static void main(String() args) { int() myArray; myArray = new int(5); myArray(0) = 1; myArray(1) = 3; System.out.println('myArray(0):' + myArray(0)); System.out.println('myArray(1):' + myArray(1)); System.out.println('myArray(2):' + myArray(2)); System.out.println('myArray(3):' + myArray(3)); System.out.println('myArray(4):' + myArray(4)); } }
Ieșire:
În acest program, am declarat o matrice int și apoi am instanțiat-o folosind new. Apoi, am inițializat elemente la indicii 0 și 1 cu valorile 1 și respectiv 3.
În cele din urmă, imprimăm toate elementele matricei. Rețineți că elementele pe care nu le-am inițializat au valori implicite ca 0, deoarece tipul matricei este int.
Elemente de imprimare în matrice Java
Atunci când matricile sunt utilizate în programe, acestea trebuie să fie afișate. Pentru a afișa elemente de matrice, folosim metode speciale cum ar fi pentru buclă, pentru fiecare buclă, metoda toString din clasa Arrays etc. Acest subiect include toate diferitele metode utilizate pentru imprimarea elementelor de matrice.
Mai jos este prezentat un program care folosește metoda toString din clasa „Arrays” pentru a imprima elemente de matrice.
import java.util.*; public class Main { public static void main(String() args) { int() myArray; myArray = new int(5); myArray(0) = 1; myArray(1) = 3; System.out.println('Array Elements : ' + Arrays.toString(myArray)); } }
Ieșire:
Lungimea matricei în Java
Lungimea unui tablou indică numărul de elemente prezente în tablou. Spre deosebire de C / C ++, unde folosim operatorul „sizeof” pentru a obține lungimea matricei, matricea Java are proprietatea „lungime”. Vom explora mai multe despre această proprietate mai târziu.
Mai jos este programul care afișează lungimea unui Array.
import java.util.*; public class Main { public static void main(String() args) { int() myArray = {1,3,5,7,9,11}; System.out.println('Size of the given array : ' + myArray.length); } }
Ieșire:
În acest program, am inițializat matricea folosind matricala literală și apoi folosind proprietatea lungime afișăm dimensiunea / lungimea matricei.
Tipuri de date Java Array
Puteți avea tablouri de toate tipurile de date. În acest subiect, vom explora matrici cu diferite tipuri de date și definițiile acestora.
În programul de mai jos, am definit matrici de tip int și string și am afișat conținutul lor respectiv .
import java.util.*; public class Main { public static void main(String() args) { int() myArray = {1,3,5,7,9,11}; String() strArray = {'one','two','three','four','five'}; System.out.println('Elements of int array : ' + Arrays.toString(myArray)); System.out.println('Elements of String array : ' + Arrays.toString(strArray)); } }
Ieșire:
Adăugarea unui element la o matrice
Adăugarea unui element la matrice este o operațiune importantă. Tablourile din Java sunt statice și de lungime fixă. Prin urmare, trebuie să furnizați un set specific de operații pentru a adăuga un element nou la matrice. Diferitele metode de adăugare a unui element la matrice vor fi discutate aici.
Una dintre metodele de adăugare a unui element la matrice este utilizarea ArrayList ca structură intermediară. Transformăm matricea în ArrayList. Apoi adăugăm elementul în ArrayList și schimbăm ArrayList înapoi în matrice.
Programul de mai jos prezintă această implementare.
import java.util.*; class Main { public static void main(String() args) { int n = 10; int i; Integer intArray() = { 1, 2, 3, 4, 5 }; System.out.println('Original Array:
' + Arrays.toString(intArray)); int num = 10; Listintlist = new ArrayList(Arrays.asList(intArray)); intlist.add(num); intArray = intlist.toArray(intArray); System.out.println('
Array after adding ' + num + '
' + Arrays.toString(intArray)); } }
Ieșire:
întrebări și răspunsuri de interviu pentru asistență tehnică de bază
Eliminați / ștergeți un element dintr-o matrice
Eliminarea unui element dintr-o matrice este, de asemenea, o altă operațiune majoră. Java nu ne permite direct să eliminăm un element. Deci, folosim alte opțiuni pentru a face acest lucru.
Dat mai jos este implementarea uneia dintre metodele pentru eliminați elementul dintr-o matrice folosind un ArrayList .
import java.util.*; importjava.util.stream.*; class Main { public static void main(String() args) { int() tensArray = { 10,20,30,40,50}; System.out.println('Input Array: '+ Arrays.toString(tensArray)); int index = 1; System.out.println('Index to be removed: ' + index); if (tensArray == null || index = tensArray.length) { System.out.println('No element to delete'); } ListtensList = IntStream.of(tensArray).boxed().collect(Collectors.toList()); tensList.remove(index); tensArray = tensList.stream().mapToInt(Integer::intValue).toArray(); System.out.println('Array after deleting element at '+ index + ':
'+ Arrays.toString(tensArray)); } }
Ieșire:
Aici, mai întâi convertim matricea în ArrayList și apoi eliminăm elementul folosind metoda ArrayList remove. După aceea, convertim ArrayList înapoi la matrice și scoatem matricea modificată.
Copierea unei matrice în Java
Vom discuta despre unele dintre operațiile de copiere a elementelor matrice dintr-o matrice în alta. De asemenea, vom discuta despre copierea superficială și profundă a matricelor.
O astfel de metodă este metoda copyOf () a clasei Arrays a pachetului java.util .
import java.util.*; public class Main { public static void main(String() args) { int() intArray = {10,15,20,25,30,35,40}; int array_len = intArray.length; System.out.println('Original Array:' + Arrays.toString(intArray)); int() copy_intArray = Arrays.copyOf(intArray, array_len); System.out.println('Copied Array:' + Arrays.toString(copy_intArray)); } }
Ieșire:
Metoda „copyOf” a clasei Arrays copiază matricea specificată ca argument împreună cu lungimea sa într-o altă matrice.
Clonarea unui tablou în Java
De asemenea, puteți crea o clonă a unei matrice în Java. Java oferă o metodă pentru acest lucru în pachetul ArrayUtils. Vom explora mai multe despre clonare aici.
Să implementăm un exemplu simplu care clonează o matrice în Java.
import java.util.*; class Main { public static void main(String args()) { int num_Array() = {5,10,15,20,25,30}; int clone_Array() = num_Array.clone(); System.out.println('Original num_Array:' + Arrays.toString(num_Array)); System.out.println('Cloned num_Array:'+ Arrays.toString(clone_Array)); } }
Ieșire:
Astfel, clonarea înseamnă doar copierea utilizând o altă metodă.
Sortarea matricilor în Java
Sortarea elementelor matrice sau ordonarea lor în ordine crescătoare sau descendentă este una dintre operațiile importante. Majoritatea aplicațiilor necesită sortarea datelor lor. Java oferă o sortare de filtru pentru tablouri. Vom discuta acest lucru în detaliu sub sortare.
Următorul este un exemplu simplu de s orting o matrice în Jave folosind metoda Arrays.sort () .
import java.util.Arrays; public class Main { public static void main(String() args) { int() num_Array = {115,32,56,78,94,108,100,63}; System.out.println('Original Array: ' + Arrays.toString(num_Array)); Arrays.sort(num_Array); System.out.println('Sorted Array: ' + Arrays.toString(num_Array)); } }
Ieșire:
Așa cum se arată mai sus, metoda de sortare a clasei Arrays sortează elementele matricei în ordine crescătoare.
Inversați o matrice în Java
Inversarea secvenței elementelor nu este, de asemenea, asigurată de tablouri. La fel ca eliminarea, trebuie să facem o schimbare și să obținem rezultatele. În acest subiect, vom vedea metodele pentru a inversa o matrice.
Următorul program arată implementarea Reversing a array .
import java.util.*; public class Main { public static void main(String() args) { Integer () even_Arrayr = {2,4,6,8,10}; System.out.println('Original Array:' + Arrays.asList(even_Arrayr)); Collections.reverse(Arrays.asList(even_Arrayr)); System.out.println('Reversed Array:' + Arrays.asList(even_Arrayr)); } }
Ieșire:
Indicele matricei este în afara limitelor
Când încercați să accesați elementele matricei dincolo de lungimea specificată sau un indice negativ, compilatorul aruncă excepția „ArrayIndexOutOfBounds”. Vom explora mai multe despre această excepție în subiectul nostru legat.
import java.util.ArrayList; public class Main { public static void main(String() args) { ArrayListmyList = new ArrayList(); myList.add('one'); myList.add('two'); System.out.println(myList.get(2)); } }
Ieșire :
În programul de mai sus, avem o listă ArrayList cu două intrări și încercăm să obținem intrarea la indexul 2 care nu există. Prin urmare, programul oferă excepția IndexOutofBounds.
Java String Array și diverse metode
Printre toate tipurile de date acceptate de Java, String este cel mai important. Prin urmare, matricea de tip String merită, de asemenea, o discuție specială. Deoarece datele conținute într-o matrice de șiruri sunt în mare parte text, există diverse metode furnizate pentru a manipula textul.
import java.util.ArrayList; public class Main { public static void main(String() args) { String() rgb = {'Red', 'Green', 'Blue'}; System.out.println('The string array elements:'); for (String item: rgb) { System.out.print(item + ' '); } } }
Ieșire:
Acesta este un program de bază pentru matrice de șiruri. Tocmai am declarat o matrice de șiruri și am afișat conținutul acesteia folosind bucla forEach.
Matrice multi-dimensionale în Java
Până acum am văzut doar tablouri unidimensionale. Java acceptă, de asemenea, tablouri multidimensionale care au elemente aranjate în mare parte în rânduri și coloane. Tablourile din Java devin mai complexe, deoarece fiecare element al tabloului poate conține un alt tablou.
Vom explora aici matrici multidimensionale în Java, împreună cu operațiunile lor specifice.
Să implementăm un exemplu de matrice bidimensională.
class Main { public static void main(String args()) { // declaring and initializing 2D array int array_2d()() = { {1,2,3},{4,5,6},{7,8,9} }; System.out.println('The two-dimensional array is as follows:'); for (int i=0; i<3 ; i++) { for (int j=0; j < 3 ; j++) System.out.print(array_2d(i)(j) + ' '); System.out.println(); } }
Ieșire:
Java Array Of Objects
În afară de stocarea tipurilor primitive, matricile java pot stoca și obiecte. În acest subiect, vom explora câteva exemple dintr-o serie de obiecte.
Un exemplu este dat mai jos.
class Main{ public static void main(String args()){ Test testobj() = new Test(2) ; testobj(0) = new Test(); testobj(1) = new Test(); testobj(0).setData(1,3); testobj(1).setData(2,4); System.out.println('For Array Element 0 (testobj(0)):'); testobj(0).displayData(); System.out.println('For Array Element 1 (testobj(1)):'); testobj(1).displayData(); } } class Test{ int val1; int val2; public void setData(int c,int d){ val1=c; val2=d; } public void displayData(){ System.out.print('val1 ='+val1 + '; val2 ='+val2 + '
'); } }
Ieșire:
Putem avea tablouri care conțin elemente ca obiecte. În programul de mai sus, avem o serie de obiecte din clasa Test. Apelăm în mod individual funcții de membru pentru fiecare obiect pentru a seta și afișa valorile.
Returnează o matrice în Java
În același mod, în care returnăm o variabilă din orice metodă, putem returna și o matrice. În mod similar, putem transmite o matrice unei metode. Ambele posibilități vor fi discutate aici cu exemple.
De obicei, o referință la matrice este transmisă către / dintr-o metodă.
Următorul program demonstrează întoarcerea unui tablou în Java .
class Main { static int() add_sub(int val1, int val2) { int() result = new int(2); result(0) = val1 + val2; result(1) = val1 - val2; return result; } public static void main(String() args) { int() result = add_sub(10, 5); System.out.println('val1 + val2 = ' + result(0)); System.out.println('val1 - val2 = ' + result(1)); } }
Ieșire:
În programul de mai sus, efectuăm două operații, adică adunarea și scăderea a două numere. Rezultatul fiecărei operații este stocat ca element în matrice. Apoi, întreaga referință a matricei este returnată funcției de apelare.
Clasa Java Array
Clasa matricei Java este o clasă din pachetul java.util care oferă funcționalitatea de manipulare a matricelor. Oferă multe funcții precum copierea unui tablou, sortarea, conversia unui tablou în șir etc.
Java Generic Array
Am văzut deja generice în Java care sunt entități independente de tip. Tablourile Java pot fi generice în care pot fi definite ca independente de tipuri. Dar codul generic nu este disponibil atunci când este generat codul de octeți și, prin urmare, este dificil să se deducă tipul de element, matricea va fi păstrată în timpul rulării.
Astfel, în loc de tablouri, trecem la liste din cadrul colecțiilor Java ori de câte ori sunt necesare generice.
Cu toate acestea, putem avea, de asemenea, o structură de matrice de tip generic, utilizând una sau mai multe metode. Aici vom explora aceste metode.
Un exemplu al uneia dintre metodele care utilizează matrici de obiecte este dat mai jos.
import java.util.Arrays; class Main { public static void main(String() args) { final int length = 5; //integer array object from Generic_Array class Generic_ArrayintArray = new Generic_Array(length); for (int i = 0; i Ieșire:

Deci, în programul de mai sus, am scris o clasă de matrice generică cu matrice de obiecte ca element și metode get / set pentru a obține / seta obiecte de matrice. De asemenea, am suprascris metoda toString a clasei Arrays. În clasa Main, creăm două obiecte ale unei clase de matrice generice de tip Integer și String și le atribuim valorile corespunzătoare.
Matrice Jagged În Java
Tablourile zimțate sunt tablouri multidimensionale cu fiecare matrice de dimensiuni diferite. O matrice Jagged este, de asemenea, un exemplu de matrice de matrice.
.net întrebări și răspunsuri la interviu
Următorul program prezintă un exemplu al matricei Jagged.
class Main { public static void main(String() args) { int jagged_array()() = new int(2)(); jagged_array(0) = new int(4); jagged_array(1) = new int(2); for (int i=0; i Ieșire:

Avem o matrice 2D în programul de mai sus. Prima dimensiune a matricei este 4, în timp ce a doua este 2. Ieșirea arată conținutul ambelor dimensiuni ale matricei Jagged.
Matrice în Java 8
Deoarece Java 8 a fost o versiune majoră a Java, vom trece prin modificările pe care le-a adus matricilor. De exemplu, fluxurile pe matrice au fost introduse în Java 8.
Importați matrice în Java
Putem include funcționalități suplimentare pentru matrici în Java importând clasa „Matrici” a pachetului „java.util”.
De asemenea, putem importa pachetul arrayutils pentru mai multe funcționalități. Trebuie să fi dobândit mai multe cunoștințe despre funcționalitatea de import din exemplele noastre anterioare.
API și documentație Java Array
Java array API este o colecție de toate funcțiile care acționează asupra matricilor Java. Vom trece prin această interfață de programare a aplicației (API) aici.
În cele din urmă am enumerat toate proprietățile și metodele împreună cu descrierea lor pentru matricele Java. Acest lucru îi va ajuta pe cititori cu o referință rapidă.
întrebări frecvente
Q # 1) Sunt tipuri de date primitive Arrays în Java?
Răspuns: Nu. Tablourile nu sunt tipuri de date primitive, dar tablourile sunt obiecte container care dețin elemente de același tip de date în locații contigue.
Q # 2) Sunt tipuri de referință matrice în Java?
Răspuns: Da. Matricea este un container de obiecte și este tratată ca referințe.
Î # 3) Puteți crește dimensiunea unui tablou în Java?
Răspuns: Nu. Declarați matrici și le creați cu dimensiunea. Odată specificat, nu puteți schimba dimensiunea matricei.
Concluzie
În acest tutorial, v-am prezentat conceptul de matrice în Java. Am discutat despre principalele subiecte asociate matricilor Java.
În tutorialele noastre ulterioare, vom explora în detaliu aceste subiecte legate de matrice în Java.
Învățare fericită !!
Lectură recomandată
- Tipuri de date Java, bucle, tablouri, comutatoare și afirmații
- Excepții Java și gestionarea excepțiilor cu exemple
- Tutorial Java Generics cu exemple
- Interfață Java și tutorial de clasă abstractă cu exemple
- Introducere în limbajul de programare Java - Video Tutorial
- Java String cu buffer de șiruri și tutorial pentru generatorul de șiruri
- Tutorial JAVA pentru începători: peste 100 de tutoriale video Java practice
- Matrici multidimensionale și matrici zimțate în C #