array objects java
En aquest tutorial de Java, podeu aprendre a crear, inicialitzar, ordenar el conjunt d’objectes a Java amb exemples de codi complet:
Què és una matriu d'objectes?
Com tots sabem, el llenguatge de programació Java tracta d’objectes ja que és un llenguatge de programació orientat a objectes.
Si voleu emmagatzemar un sol objecte al vostre programa, podeu fer-ho amb l'ajuda d'una variable de tipus objecte. Però quan es tracta de nombrosos objectes, és recomanable utilitzar una gran quantitat d'objectes.
=> Consulteu la guia de formació Java perfecta aquí.
Java és capaç d'emmagatzemar objectes com a elements de la matriu juntament amb altres tipus de dades primitius i personalitzats. Tingueu en compte que quan dieu 'matriu d'objectes', no és el propi objecte el que s'emmagatzema a la matriu, sinó les referències de l'objecte.
En aquest tutorial, coneixereu la creació, inicialització, ordenació i exemples de la matriu d'objectes de Java.
Què aprendreu:
Com es crea una matriu d'objectes a Java?
Es crea una matriu d’objectes mitjançant la classe ‘Objecte’.
La següent afirmació crea una matriu d'objectes.
Class_name [] objArray;
Com a alternativa, també podeu declarar una matriu d’objectes com es mostra a continuació:
Class_nameobjArray[];
Les dues declaracions anteriors impliquen que objArray és un conjunt d'objectes.
Per tant, si teniu una classe 'Employee', podeu crear una matriu d'objectes Employee tal i com es mostra a continuació:
Employee[] empObjects; OR Employee empObjects[];
Les declaracions de la matriu d’objectes anteriors hauran d’instanciar-se mitjançant ‘new’ abans d’utilitzar-les al programa.
Tu pots declareu i instancieu la matriu d'objectes com es mostra a continuació:
Employee[] empObjects = new Employee[2];
Nota que una vegada que s’instancia una matriu d’objectes com a l’anterior, cal crear els elements individuals de la matriu d’objectes amb nous.
L'afirmació anterior crearà una matriu d'objectes 'empObjects' amb 2 elements / referències d'objectes.
Inicialitzar la matriu d’objectes
Un cop instanciada la matriu d'objectes, haureu d'inicialitzar-la amb valors. Com que la matriu d'objectes és diferent d'una matriu de tipus primitius, no podeu inicialitzar la matriu de la mateixa manera que ho feu amb els tipus primitius.
En el cas d’una matriu d’objectes, cal inicialitzar cada element de la matriu, és a dir, un objecte. Ja hem comentat que una matriu d'objectes conté referències als objectes de classe reals. Per tant, un cop es declara i s’instancia la matriu d’objectes, heu de crear objectes reals de la classe.
Preguntes sobre l'entrevista .net c
Una manera d’inicialitzar la matriu d’objectes és mitjançant els constructors. Quan creeu objectes reals, podeu assignar valors inicials a cadascun dels objectes passant valors al constructor. També podeu tenir un mètode de membre independent en una classe que assigni dades als objectes.
El programa següent mostra la inicialització d'objectes de matriu mitjançant el constructor.
Aquí hem utilitzat la classe Employee. La classe té un constructor que inclou dos paràmetres, és a dir, el nom de l’empleat i la identificació de l’empleat. A la funció principal, després de crear una sèrie d'empleats, continuem creant objectes individuals de l'empleat de la classe.
A continuació, passem valors inicials a cadascun dels objectes mitjançant el constructor.
La sortida del programa mostra el fitxer contingut de cada objecte inicialitzat prèviament .
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(); } }
Sortida:
L'exemple de programa que hem proporcionat a continuació mostra una funció membre de la classe Employee que s'utilitza per assignar els valors inicials als objectes Employee.
Programa d'exemple per a una matriu d'objectes a Java
Donat és un exemple complet que demostra la matriu d'objectes de Java.
En aquest programa, tenim una classe Employee que té Id de l’empleat (empId) i nom de l’empleat (nom) com a camps i ‘setData’ i ‘showData’ com a mètodes que assignen dades als objectes dels empleats i mostren el contingut dels objectes dels empleats respectivament.
En el mètode principal del programa, primer definim una matriu d’objectes Employee. Tingueu en compte que es tracta d'un conjunt de referències i no d'objectes reals. A continuació, mitjançant el constructor per defecte, creem objectes reals per a la classe Employee. A continuació, s’assignen dades als objectes mitjançant el mètode setData.
Finalment, els objectes invoquen el mètode showData per mostrar el contingut dels objectes de la 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(); } }
Sortida:
Com ordenar una matriu d'objectes a Java?
Igual que una matriu de tipus primitius, una matriu d’objectes també es pot ordenar mitjançant el mètode ‘sort’ de la classe Arrays.
Però la diferència és que la classe a la qual pertanyen els objectes ha d’implementar la interfície ‘Comparable’ de manera que s’ordenin la matriu d’objectes. També heu d’anul·lar el mètode ‘compareTo’ que decidirà el camp on s’ha d’ordenar la matriu. La matriu d’objectes s’ordena per ordre ascendent per defecte.
El programa següent mostra l’ordenació d’una matriu d’objectes. Hem utilitzat una classe Employee per a aquest propòsit i la matriu s’ordena segons l’identificador d’empleat (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)); } }
Sortida:
Tingueu en compte que al programa anterior, la classe Employee implementa una interfície comparable. En segon lloc, es substitueix el mètode compareTo per ordenar la matriu d’objectes donada al camp empId.
A més, el mètode 'toString' és anul·lat per tal de facilitar la conversió de la matriu d'objectes a una cadena.
Preguntes freqüents
P # 1) Podeu tenir una matriu d'objectes a Java?
Resposta: Sí. Java pot tenir una matriu d’objectes tal com pot tenir una matriu de tipus primitius.
Q # 2) Què és una matriu d'objectes a Java?
Resposta: A Java, una matriu és un objecte creat dinàmicament que pot tenir elements que siguin objectes o tipus de dades primitius. A la matriu se li poden assignar variables de tipus objecte.
P # 3) Com s'ordenen objectes a Java?
Resposta: Per ordenar objectes a Java, hem d’implementar la interfície ‘Comparable’ i anul·lar el mètode ‘compareTo’ segons un camp concret. A continuació, podem utilitzar el mètode ‘Arrays.sort’ per ordenar una matriu d’objectes.
Q # 4) Com s'ordenen objectes a ArrayList?
com obriu un fitxer torrent
Resposta: ArrayList es pot ordenar directament mitjançant el mètode Collections.sort (). El mètode Collections.sort () ordena els elements de forma natural en ordre ascendent.
Conclusió
En aquest tutorial, hem discutit el tema 'Matriu d'objectes' juntament amb els diversos subtemes relacionats amb una matriu d'objectes. Vam veure exemples d’inicialització i ordenació d’una matriu d’objectes.
Per ordenar la classe els objectes de la qual s’haurien d’ordenar hauríeu d’implementar la interfície ‘Comparable’ i també substituir el mètode ‘compareTo’. Per imprimir el contingut de la ‘Matriu d’objectes’, també hauríem d’anul·lar el mètode ‘toString’ de manera que poguem escriure tot el contingut de cada objecte.
=> Visiteu aquí per veure la sèrie de formació de Java per a tothom
Lectura recomanada
- Matriu Java: declarar, crear i inicialitzar una matriu a Java
- Tutorial de longitud de matriu de Java amb exemples de codi
- Java Array - Com imprimir elements d'un array a Java?
- Matriu genèrica de Java: com simular matrius genèrics a Java?
- Java Hello World: creeu avui el vostre primer programa a Java
- Arrays multidimensionals a Java (Arrays 2d i 3d a Java)
- Interfície Java i tutoria de classes abstractes amb exemples
- Tutorial JAVA per a principiants: més de 100 tutorials pràctics de vídeo Java