array objects java
În acest tutorial Java, puteți învăța să creați, inițializați, sortați matricea de obiecte în Java cu exemple complete de cod:
Ce este o matrice de obiecte?
După cum știm cu toții, limbajul de programare Java este despre obiecte, deoarece este un limbaj de programare orientat pe obiecte.
Dacă doriți să stocați un singur obiect în programul dvs., puteți face acest lucru cu ajutorul unei variabile de tip obiect. Dar atunci când aveți de-a face cu numeroase obiecte, atunci este recomandabil să utilizați o serie de obiecte.
=> Consultați aici Ghidul perfect de instruire Java.
Java este capabil să stocheze obiecte ca elemente ale matricei împreună cu alte tipuri de date primitive și personalizate. Rețineți că atunci când spuneți „matrice de obiecte”, nu obiectul în sine este stocat în matrice, ci referințele obiectului.
În acest tutorial, veți face cunoștință cu crearea, inițializarea, sortarea, precum și exemple de matrice de obiecte în Java.
Ce veți învăța:
Cum se creează o matrice de obiecte în Java?
O serie de obiecte este creată utilizând clasa „Obiect”.
Următoarea afirmație creează o matrice de obiecte.
Class_name () objArray;
Alternativ, puteți declara și o matrice de obiecte așa cum se arată mai jos:
Class_nameobjArray();
Ambele declarații de mai sus implică faptul că objArray este o matrice de obiecte.
Deci, dacă aveți o clasă „Angajat”, atunci puteți crea o serie de obiecte Angajați așa cum este prezentat mai jos:
Employee() empObjects; OR Employee empObjects();
Declarațiile matricei de obiecte de mai sus vor trebui instanțiate folosind „nou” înainte de a fi utilizate în program.
Poti declarați și instanțiați matricea de obiecte așa cum se arată mai jos:
Employee() empObjects = new Employee(2);
Notă că odată instanțiată o matrice de obiecte ca mai sus, elementele individuale ale matricei de obiecte trebuie create cu ajutorul noului.
Afirmația de mai sus va crea o serie de obiecte „empObjects” cu 2 elemente / referințe de obiect.
Inițializați matricea de obiecte
Odată ce matricea de obiecte este instanțiată, trebuie să o inițializăm cu valori. Deoarece matricea de obiecte este diferită de o matrice de tipuri primitive, nu puteți inițializa matricea așa cum procedați cu tipurile primitive.
În cazul unei matrice de obiecte, fiecare element al matricei, adică un obiect, trebuie inițializat. Am discutat deja că o serie de obiecte conține referințe la obiectele reale ale clasei. Astfel, odată ce matricea de obiecte este declarată și instanțiată, trebuie să creați obiecte reale ale clasei.
O modalitate de a inițializa matricea de obiecte este folosind constructorii. Când creați obiecte reale, puteți atribui valori inițiale fiecăruia dintre obiecte trecând valori constructorului. De asemenea, puteți avea o metodă separată de membru într-o clasă care va atribui date obiectelor.
liste dublu legate c ++
Următorul program arată inițializarea obiectelor matrice folosind constructorul.
Aici am folosit clasa Angajat. Clasa are un constructor care ia în doi parametri, adică numele angajatului și ID-ul angajatului. În funcția principală, după ce se creează o serie de angajați, mergem mai departe și creăm obiecte individuale ale angajatului clasei.
Apoi, transmitem valorile inițiale fiecăruia dintre obiecte folosind constructorul.
Ieșirea programului arată fișierul conținutul fiecărui obiect care a fost inițializat anterior .
class Main{ public static void main(String args()){ //create array of employee object Employee() obj = new Employee(2) ; //create & initialize actual employee objects using constructor obj(0) = new Employee(100,'ABC'); obj(1) = new Employee(200,'XYZ'); //display the employee object data System.out.println('Employee Object 1:'); obj(0).showData(); System.out.println('Employee Object 2:'); obj(1).showData(); } } //Employee class with empId and name as attributes class Employee{ int empId; String name; //Employee class constructor Employee(inteid, String n){ empId = eid; name = n; } public void showData(){ System.out.print('EmpId = '+empId + ' ' + ' Employee Name = '+name); System.out.println(); } }
Ieșire:
Programul de exemplu pe care l-am dat mai jos prezintă o funcție membru a clasei Angajat care este utilizată pentru a atribui valorile inițiale obiectelor Angajat.
Program de exemplu pentru o matrice de obiecte în Java
Dat este un exemplu complet care demonstrează matricea de obiecte din Java.
În acest program, avem o clasă de angajați care are ID-ul angajatului (empId) și numele angajatului (numele) ca câmpuri și „setData” și „showData” ca metode care atribuie date obiectelor angajaților și, respectiv, afișează conținutul obiectelor angajaților.
În metoda principală a programului, mai întâi definim o serie de obiecte Angajați. Rețineți că aceasta este o serie de referințe și nu obiecte reale. Apoi, folosind constructorul implicit, creăm obiecte reale pentru clasa Angajat. Apoi, obiectelor li se atribuie date folosind metoda setData.
În cele din urmă, obiectele invocă metoda showData pentru a afișa conținutul obiectelor clasei Angajat.
class Main{ public static void main(String args()){ //create array of employee object Employee() obj = new Employee(2) ; //create actual employee object obj(0) = new Employee(); obj(1) = new Employee(); //assign data to employee objects obj(0).setData(100,'ABC'); obj(1).setData(200,'XYZ'); //display the employee object data System.out.println('Employee Object 1:'); obj(0).showData(); System.out.println('Employee Object 2:'); obj(1).showData(); } } //Employee class with empId and name as attributes class Employee{ int empId; String name; public void setData(intc,String d){ empId=c; name=d; } public void showData(){ System.out.print('EmpId = '+empId + ' ' + ' Employee Name = '+name); System.out.println(); } }
Ieșire:
Cum să sortați o matrice de obiecte în Java?
La fel ca o serie de tipuri primitive, o serie de obiecte pot fi, de asemenea, sortate folosind metoda „sort” din clasa Arrays.
Dar diferența este că clasa căreia îi aparțin obiectele ar trebui să implementeze interfața „Comparabilă”, astfel încât matricea de obiecte să fie sortată. De asemenea, trebuie să înlocuiți metoda „compareTo” care va decide câmpul pe care va fi sortată matricea. Matricea de obiecte este sortată în ordine crescătoare în mod implicit.
Următorul program arată sortarea unei matrice de obiecte. Am folosit o clasă de angajați în acest scop, iar matricea este sortată pe baza Id-ului angajatului (empId).
import java.util.*; //employee class implementing comparable interface for array of objects class Employee implements Comparable { private String name; privateint empId; //constructor public Employee(String name, int empId) { this.name = name; this.empId = empId; } public String getName() { return name; } publicintgetempId() { return empId; } //overridden functions since we are working with array of objects @Override public String toString() { return '{' + 'name='' + name + ''' + ', EmpId=' + empId + '}'; } //compareTo method overridden for sorting array of objects @Override publicint compareTo(Employee o) { if (this.empId != o.getempId()) { returnthis.empId - o.getempId(); } returnthis.name.compareTo(o.getName()); } } //main class class Main { public static void main(String() args) { //array of Employee objects Employee() employees = { new Employee('Rick', 1), new Employee('Sam', 20), new Employee('Adi', 5), new Employee('Ben', 10) }; //print original array System.out.println('Original Array of Employee objects:'); System.out.println(Arrays.toString(employees)); //sort array on empId Arrays.sort(employees); //display sorted array System.out.println('
Sorted Array of Employee objects:'); System.out.println(Arrays.toString(employees)); } }
Ieșire:
Rețineți că în programul de mai sus, clasa Angajați implementează o interfață comparabilă. În al doilea rând, metoda compareTo este suprascrisă pentru a sorta matricea dată de obiecte din câmpul empId.
De asemenea, metoda „toString” este anulată pentru a facilita conversia matricei de obiecte într-un șir.
întrebări frecvente
Q # 1) Puteți avea o matrice de obiecte în Java?
Răspuns: Da. Java poate avea o serie de obiecte la fel ca modul în care poate avea o serie de tipuri primitive.
Q # 2) Ce este o matrice de obiecte în Java?
Răspuns: În Java, o matrice este un obiect creat dinamic care poate avea elemente care sunt tipuri de date primitive sau obiecte. Matricei i se pot atribui variabile care sunt de tip obiect.
Î. 3) Cum sortați obiecte în Java?
Răspuns: Pentru a sorta obiecte în Java, trebuie să implementăm interfața „Comparabilă” și să înlocuim metoda „compareTo” în funcție de un anumit câmp. Apoi putem folosi metoda „Arrays.sort” pentru a sorta o serie de obiecte.
Q # 4) Cum ordonați obiecte în ArrayList?
Răspuns: ArrayList poate fi sortat folosind metoda Collections.sort () direct. Metoda Collections.sort () sortează elementele în mod natural în ordine crescătoare.
Concluzie
În acest tutorial, am discutat subiectul „Matrice de obiecte” împreună cu diferitele subteme legate de o serie de obiecte. Am văzut exemple de inițializare și sortare a unui set de obiecte.
Pentru sortarea clasei ale cărei obiecte urmează a fi sortate, trebuie să implementați interfața „Comparabilă” și să înlocuiți metoda „compareTo”. Pentru a imprima conținutul „Matricei de obiecte”, ar trebui să înlocuim și metoda „toString”, astfel încât să putem scrie tot conținutul fiecărui obiect.
=> Vizitați aici pentru a vedea seria de antrenament Java pentru toți.
Lectură recomandată
- Java Array - Declarați, creați și inițializați o matrice în Java
- Tutorial Java Array Length cu exemple de cod
- Java Array - Cum se imprimă elemente ale unui array în Java?
- Java Generic Array - Cum se pot simula matrici generice în Java?
- Java Hello World - Creați-vă primul program în Java astăzi
- Matrice multidimensionale în Java (matrice 2d și 3d în Java)
- Interfață Java și tutorial de clasă abstractă cu exemple
- Tutorial JAVA pentru începători: peste 100 de tutoriale video Java practice