array objects java
I denne Java-vejledning kan du lære at oprette, initialisere, sortere matrixen af objekter i Java med komplette kodeeksempler:
Hvad er en række objekter?
Som vi alle ved, handler Java-programmeringssprog om objekter, da det er et objektorienteret programmeringssprog.
Hvis du vil gemme et enkelt objekt i dit program, kan du gøre det ved hjælp af en variabel af typen objekt. Men når du har at gøre med adskillige objekter, anbefales det at bruge en række objekter.
=> Tjek den perfekte Java-træningsvejledning her.
Java er i stand til at gemme objekter som elementer i arrayet sammen med andre primitive og brugerdefinerede datatyper. Bemærk, at når du siger 'array af objekter', er det ikke selve objektet, der er gemt i arrayet, men referencerne for objektet.
I denne vejledning bliver du bekendt med oprettelsen, initialiseringen, sorteringen samt eksempler på matrixen af objekter i Java.
Hvad du vil lære:
Sådan oprettes en række objekter i Java?
En række objekter oprettes ved hjælp af klassen 'Objekt'.
Følgende udsagn skaber en række af objekter.
Class_name () objArray;
Alternativt kan du også erklære en matrix med objekter som vist nedenfor:
Class_nameobjArray();
Begge ovenstående erklæringer antyder, at objArray er en række objekter.
Så hvis du har en klasse 'Medarbejder', kan du oprette en række medarbejderobjekter som angivet nedenfor:
Employee() empObjects; OR Employee empObjects();
Erklæringerne fra matrixen af objekter ovenfor skal instantieres ved hjælp af 'ny', før de bruges i programmet.
Du kan erklære og instantiere matrixen af objekter som vist nedenfor:
Employee() empObjects = new Employee(2);
Bemærk at når en række objekter er instantieret som ovenfor, skal de enkelte elementer i matrixen af objekter oprettes ved hjælp af nye.
Ovenstående udsagn opretter en matrix af objekter 'empObjects' med 2 elementer / objektreferencer.
Initialiser Array Of Objects
Når matrixen af objekter er instantieret, skal du initialisere den med værdier. Da matrixen af objekter er forskellig fra en række primitive typer, kan du ikke initialisere arrayet på den måde, du gør med primitive typer.
I tilfælde af et array af objekter skal hvert element i array, dvs. et objekt, initialiseres. Vi har allerede diskuteret, at en række objekter indeholder referencer til de faktiske klasseobjekter. Således, når matrixen af objekter er deklareret og instantificeret, skal du oprette egentlige objekter i klassen.
En måde at initialisere matrixen af objekter er ved hjælp af konstruktørerne. Når du opretter faktiske objekter, kan du tildele startværdier til hvert af objekterne ved at overføre værdier til konstruktøren. Du kan også have en separat medlemsmetode i en klasse, der tildeler data til objekterne.
Det følgende program viser initialiseringen af array-objekter ved hjælp af konstruktøren.
forskel mellem blackbox og whitebox test
Her har vi brugt klassen Medarbejder. Klassen har en konstruktør, der tager to parametre i brug, dvs. medarbejdernavn og medarbejder-id. I hovedfunktionen, efter at en række medarbejdere er oprettet, går vi videre og opretter individuelle objekter af klassemedarbejderen.
Derefter sender vi indledende værdier til hvert af objekterne ved hjælp af konstruktøren.
Programmets output viser indholdet af hvert objekt, der blev initialiseret tidligere .
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(); } }
Produktion:
Eksempelprogrammet, som vi har givet nedenfor, viser en medlemsfunktion i medarbejderklassen, der bruges til at tildele de oprindelige værdier til medarbejderobjekterne.
Eksempel på program til en række objekter i Java
Givet er et komplet eksempel, der demonstrerer matrixen af objekter i Java.
I dette program har vi en medarbejderklasse, der har medarbejder-id (empId) og medarbejdernavn (navn) som felter og 'setData' & 'showData' som metoder, der tildeler data til henholdsvis medarbejderobjekter og viser indholdet af medarbejderobjekter.
I programmets hovedmetode definerer vi først en matrix med medarbejderobjekter. Bemærk, at dette er en række referencer og ikke egentlige objekter. Derefter opretter vi faktiske objekter til medarbejderklassen ved hjælp af standardkonstruktøren. Derefter tildeles objekterne data ved hjælp af setData-metoden.
Endelig påkalder objekter showData-metoden for at vise indholdet af medarbejderklasseobjekterne.
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(); } }
Produktion:
Sådan sorteres en række objekter i Java?
Ligesom en række primitive typer kan en række objekter også sorteres ved hjælp af 'sorter' -metoden i Arrays-klassen.
Men forskellen er, at den klasse, som objekterne tilhører, skal implementere 'Comparable' interface, så arrayet af objekter sorteres. Du skal også tilsidesætte 'sammenligne-til' -metoden, der bestemmer det felt, som arrayet skal sorteres på. Matrixen af objekter er som standard sorteret i stigende rækkefølge.
Det følgende program viser sorteringen af en række objekter. Vi har brugt en medarbejderklasse til dette formål, og matrixen sorteres efter medarbejder-id (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)); } }
Produktion:
Bemærk, at i ovenstående program implementerer medarbejderklassen den sammenlignelige grænseflade. For det andet tilsidesættes metoden comparTo for at sortere det givne array af objekter i empId-feltet.
Metoden 'toString' tilsidesættes også for at lette konverteringen af arrayet af objekter til en streng.
Ofte stillede spørgsmål
Spørgsmål nr. 1) Kan du have en række objekter i Java?
Svar: Ja. Java kan have en række objekter ligesom hvordan den kan have en række primitive typer.
Q # 2) Hvad er en matrix med objekter i Java?
Svar: I Java er en matrix et dynamisk oprettet objekt, der kan have elementer, der er primitive datatyper eller objekter. Matrixen kan tildeles variabler, der er af typen objekt.
Q # 3) Hvordan sorterer du objekter i Java?
Svar: For at sortere objekter i Java er vi nødt til at implementere 'Comparable' interface og tilsidesætte 'comparTo' metoden i henhold til et bestemt felt. Derefter kan vi bruge metoden 'Arrays.sort' til at sortere en række objekter.
Spørgsmål nr. 4) Hvordan sorterer du objekter i ArrayList?
Svar: ArrayList kan sorteres ved hjælp af metoden Collections.sort () direkte. Metoden Collections.sort () sorterer elementerne naturligt i stigende rækkefølge.
Konklusion
I denne vejledning diskuterede vi emnet 'Array of Objects' sammen med de forskellige underemner relateret til en række objekter. Vi så eksempler på initialisering og sortering af en række objekter.
Til sortering skal den klasse, hvis objekter skal sorteres, implementere 'Sammenlignelig' grænseflade og også tilsidesætte 'sammenligne til' -metoden. For at udskrive indholdet af 'Array of objects', bør vi også tilsidesætte 'toString'-metoden, så vi kan skrive alt indholdet af hvert objekt.
=> Besøg her for at se Java Training Series for alle.
Anbefalet læsning
- Java Array - Erklære, oprette og initialisere en matrix i Java
- Java Array Length Tutorial med kodeeksempler
- Java Array - Hvordan udskrives elementer af en matrix i Java?
- Java Generic Array - Sådan simuleres generiske arrays i Java?
- Java Hello World - Opret dit første program i Java i dag
- Flerdimensionelle arrays i Java (2d og 3d arrays i Java)
- Java-interface og abstrakt klasseundervisning med eksempler
- JAVA-vejledning til begyndere: 100+ praktiske Java-videovejledninger