array objects java
In questo tutorial Java, puoi imparare a creare, inizializzare, ordinare l'array di oggetti in Java con esempi di codice completi:
Cos'è un array di oggetti?
Come tutti sappiamo, il linguaggio di programmazione Java è incentrato sugli oggetti in quanto è un linguaggio di programmazione orientato agli oggetti.
Se vuoi memorizzare un singolo oggetto nel tuo programma, puoi farlo con l'aiuto di una variabile di tipo oggetto. Ma quando hai a che fare con numerosi oggetti, è consigliabile utilizzare un array di oggetti.
=> Dai un'occhiata alla guida di formazione Java perfetta qui.
Java è in grado di memorizzare oggetti come elementi dell'array insieme ad altri tipi di dati primitivi e personalizzati. Nota che quando dici 'matrice di oggetti', non è l'oggetto stesso che è memorizzato nell'array ma i riferimenti dell'oggetto.
In questo tutorial, acquisirai familiarità con la creazione, l'inizializzazione, l'ordinamento e gli esempi dell'array di oggetti in Java.
Cosa imparerai:
Come creare un array di oggetti in Java?
Viene creato un array di oggetti utilizzando la classe 'Object'.
La seguente istruzione crea una matrice di oggetti.
Class_name [] objArray;
In alternativa, puoi anche dichiarare un array di oggetti come mostrato di seguito:
Class_nameobjArray[];
Entrambe le dichiarazioni precedenti implicano che objArray è un array di oggetti.
Quindi, se hai una classe 'Employee', puoi creare un array di oggetti Employee come indicato di seguito:
Employee[] empObjects; OR Employee empObjects[];
Le dichiarazioni dell'array di oggetti di cui sopra dovranno essere istanziate utilizzando 'new' prima di essere utilizzate nel programma.
Puoi dichiarare e istanziare l'array di oggetti come mostrato di seguito:
Employee[] empObjects = new Employee[2];
Nota che una volta che un array di oggetti è stato istanziato come sopra, i singoli elementi dell'array di oggetti devono essere creati usando new.
L'istruzione precedente creerà un array di oggetti 'empObjects' con 2 elementi / riferimenti a oggetti.
Inizializza array di oggetti
Una volta creata un'istanza dell'array di oggetti, è necessario inizializzarlo con i valori. Poiché l'array di oggetti è diverso da un array di tipi primitivi, non è possibile inizializzare l'array come si fa con i tipi primitivi.
Nel caso di un array di oggetti, ogni elemento dell'array, cioè un oggetto, deve essere inizializzato. Abbiamo già discusso del fatto che un array di oggetti contiene riferimenti agli oggetti di classe effettivi. Pertanto, una volta che l'array di oggetti è stato dichiarato e istanziato, è necessario creare oggetti effettivi della classe.
Un modo per inizializzare la matrice di oggetti consiste nell'usare i costruttori. Quando si creano oggetti effettivi, è possibile assegnare valori iniziali a ciascuno degli oggetti passando i valori al costruttore. È inoltre possibile avere un metodo membro separato in una classe che assegnerà i dati agli oggetti.
Il seguente programma mostra l'inizializzazione di oggetti array utilizzando il costruttore.
Qui abbiamo usato la classe Employee. La classe ha un costruttore che accetta due parametri, ovvero il nome del dipendente e l'ID del dipendente. Nella funzione principale, dopo aver creato un array di dipendenti, procediamo e creiamo i singoli oggetti dell'impiegato di classe.
Quindi passiamo i valori iniziali a ciascuno degli oggetti utilizzando il costruttore.
L'output del programma mostra il file contenuto di ogni oggetto inizializzato in precedenza .
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(); } }
Produzione:
Il programma di esempio che abbiamo fornito di seguito mostra una funzione membro della classe Employee che viene utilizzata per assegnare i valori iniziali agli oggetti Employee.
Programma di esempio per un array di oggetti in Java
Viene fornito un esempio completo che dimostra l'array di oggetti in Java.
In questo programma, abbiamo una classe Employee che ha ID dipendente (empId) e nome dipendente (nome) come campi e 'setData' e 'showData' come metodi che assegnano dati agli oggetti dipendente e visualizzano rispettivamente il contenuto degli oggetti dipendente.
Nel metodo principale del programma, definiamo prima un array di oggetti Employee. Notare che questo è un array di riferimenti e non oggetti reali. Quindi, utilizzando il costruttore predefinito, creiamo oggetti reali per la classe Employee. Successivamente, agli oggetti vengono assegnati dati utilizzando il metodo setData.
Infine, gli oggetti richiamano il metodo showData per visualizzare il contenuto degli oggetti della classe Employee.
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(); } }
Produzione:
Come ordinare un array di oggetti in Java?
Come un array di tipi primitivi, anche un array di oggetti può essere ordinato utilizzando il metodo 'sort' della classe Arrays.
Ma la differenza è che la classe a cui appartengono gli oggetti dovrebbe implementare l'interfaccia 'Comparable' in modo che l'array di oggetti venga ordinato. È inoltre necessario sovrascrivere il metodo 'compareTo' che deciderà il campo su cui ordinare l'array. La matrice di oggetti è ordinata in ordine crescente per impostazione predefinita.
Il seguente programma mostra l'ordinamento di un array di oggetti. Abbiamo utilizzato una classe Employee per questo scopo e l'array è ordinato in base all'ID dipendente (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)); } }
Produzione:
Si noti che nel programma precedente, la classe Employee implementa l'interfaccia Comparable. In secondo luogo, il metodo compareTo viene sovrascritto per ordinare il dato array di oggetti nel campo empId.
Inoltre, il metodo 'toString' viene sovrascritto per facilitare la conversione dell'array di oggetti in una stringa.
Domande frequenti
D # 1) Puoi avere un array di oggetti in Java?
Risposta: Sì. Java può avere un array di oggetti proprio come può avere un array di tipi primitivi.
D # 2) Cos'è un array di oggetti in Java?
Risposta: In Java, un array è un oggetto creato dinamicamente che può contenere elementi che sono tipi di dati o oggetti primitivi. All'array possono essere assegnate variabili di tipo oggetto.
D # 3) Come ordinate gli oggetti in Java?
Risposta: Per ordinare gli oggetti in Java, dobbiamo implementare l'interfaccia 'Comparable' e sovrascrivere il metodo 'compareTo' in base a un campo particolare. Quindi possiamo utilizzare il metodo 'Arrays.sort' per ordinare un array di oggetti.
D # 4) Come ordinate gli oggetti in ArrayList?
Risposta: ArrayList può essere ordinato utilizzando direttamente il metodo Collections.sort (). Il metodo Collections.sort () ordina gli elementi naturalmente in ordine crescente.
come si riproducono i file swf
Conclusione
In questo tutorial, abbiamo discusso l'argomento 'Array of Objects' insieme ai vari argomenti secondari relativi a un array di oggetti. Abbiamo visto esempi di inizializzazione e ordinamento di un array di oggetti.
Per ordinare la classe i cui oggetti devono essere ordinati dovrebbe implementare l'interfaccia 'Comparable' e sovrascrivere anche il metodo 'compareTo'. Per stampare il contenuto dell ''Array of objects', dovremmo anche sovrascrivere il metodo 'toString' in modo da poter scrivere tutti i contenuti di ogni oggetto.
=> Visita qui per vedere la serie di formazione Java per tutti.
Lettura consigliata
- Array Java: dichiara, crea e inizializza un array in Java
- Tutorial sulla lunghezza di array Java con esempi di codice
- Java Array - Come stampare elementi di un array in Java?
- Java Generic Array - Come simulare array generici in Java?
- Java Hello World - Crea il tuo primo programma in Java oggi
- Array multidimensionali in Java (array 2d e 3d in Java)
- Tutorial sull'interfaccia Java e sulla classe astratta con esempi
- Tutorial JAVA per principianti: oltre 100 tutorial video Java pratici