array objects java
У цьому підручнику Java ви можете навчитися створювати, ініціалізувати, сортувати масив об’єктів у Java із повними прикладами коду:
Що таке масив об'єктів?
Як ми всі знаємо, мова програмування Java - це все про об'єкти, оскільки це об'єктно-орієнтована мова програмування.
як знайти ключ безпеки мережі
Якщо ви хочете зберегти один об’єкт у своїй програмі, ви можете зробити це за допомогою змінної типу об’єкта. Але коли ви маєте справу з численними об’єктами, то доцільно використовувати масив об’єктів.
=> Ознайомтесь з Ідеальним посібником з навчання Java тут.
Java здатна зберігати об'єкти як елементи масиву разом з іншими примітивними та спеціальними типами даних. Зверніть увагу, що коли ви говорите „масив об’єктів”, у масиві зберігається не сам об’єкт, а посилання на об’єкт.
У цьому посібнику ви познайомитеся зі створенням, ініціалізацією, сортуванням, а також прикладами масиву об'єктів у Java.
Що ви дізнаєтесь:
Як створити масив об’єктів у Java?
Масив об’єктів створюється за допомогою класу ‘Object’.
Наступний оператор створює масив об’єктів.
Class_name [] objArray;
Ви також можете оголосити масив об’єктів, як показано нижче:
Class_nameobjArray[];
Обидва наведені вище оголошення означають, що objArray - це масив об’єктів.
Отже, якщо у вас є клас «Співробітник», ви можете створити масив об’єктів Співробітника, як зазначено нижче:
Employee[] empObjects; OR Employee empObjects[];
Оголошення масиву наведених вище об'єктів потрібно буде створити за допомогою 'new' перед використанням у програмі.
Ти можеш оголосити і створити екземпляр масиву об'єктів, як показано нижче:
Employee[] empObjects = new Employee[2];
Примітка що після створення екземпляра масиву об’єктів, як зазначено вище, окремі елементи масиву об’єктів потрібно створити за допомогою new.
Наведений вище оператор створить масив об’єктів „empObjects“ із 2 елементами / посиланнями на об’єкти.
Ініціалізуйте масив об’єктів
Після створення екземпляра масиву об’єктів вам доведеться ініціалізувати його значеннями. Оскільки масив об'єктів відрізняється від масиву примітивних типів, ви не можете ініціалізувати масив так, як це робите з примітивними типами.
У випадку масиву об'єктів кожен елемент масиву, тобто об'єкт, повинен бути ініціалізований. Ми вже обговорювали, що масив об'єктів містить посилання на фактичні об'єкти класу. Таким чином, як тільки масив об'єктів оголошено та створено екземпляр, вам потрібно створити фактичні об'єкти класу.
Одним із способів ініціалізації масиву об’єктів є використання конструкторів. Коли ви створюєте фактичні об'єкти, ви можете призначати початкові значення кожному з об'єктів, передаючи значення конструктору. Ви також можете мати окремий метод-член у класі, який призначатиме дані об’єктам.
Наступна програма показує ініціалізацію об'єктів масиву за допомогою конструктора.
Тут ми використали клас Employee. Клас має конструктор, який приймає два параметри, тобто ім'я працівника та ідентифікатор працівника. У головній функції, після створення масиву співробітників, ми продовжуємо створювати окремі об’єкти працівника класу.
Потім ми передаємо початкові значення кожному з об’єктів, використовуючи конструктор.
Результат роботи програми показує вміст кожного об’єкта, який було ініціалізовано раніше .
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(); } }
Вихід:
Наведений нижче приклад програми показує функцію-член класу Employee, яка використовується для присвоєння початкових значень об’єктам Employee.
Приклад програми для масиву об'єктів у Java
Наведено повний приклад, який демонструє масив об'єктів у Java.
У цій програмі ми маємо клас Employee, який має ідентифікатор працівника (empId) та ім’я працівника (ім’я) як поля, а ‘setData’ та ‘showData’ як методи, які призначають дані об’єктам співробітників та відображають вміст об’єктів співробітників відповідно.
В основному методі програми ми спочатку визначаємо масив об’єктів Employee. Зверніть увагу, що це масив посилань, а не фактичні об’єкти. Потім, використовуючи конструктор за замовчуванням, ми створюємо фактичні об’єкти для класу Employee. Далі об’єктам присвоюються дані за допомогою методу setData.
Нарешті, об’єкти викликають метод showData для відображення вмісту об’єктів класу 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(); } }
Вихід:
Як відсортувати масив об’єктів у Java?
Як і масив примітивних типів, масив об’єктів також можна сортувати за допомогою методу ‘sort’ класу Arrays.
Але різниця полягає в тому, що клас, до якого належать об’єкти, повинен реалізовувати інтерфейс ‘Comparable’, щоб масив об’єктів був відсортований. Також потрібно замінити метод ‘compareTo’, який визначатиме поле, за яким буде відсортовано масив. За замовчуванням масив об’єктів сортується у порядку зростання.
Наступна програма показує сортування масиву об'єктів. Для цього ми використовували клас Employee, і масив сортується на основі ідентифікатора працівника (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)); } }
Вихід:
Зверніть увагу, що у вищезазначеній програмі клас Employee реалізує порівняльний інтерфейс. По-друге, метод порівнянняTo замінюється для сортування заданого масиву об'єктів у полі empId.
Крім того, метод ‘toString’ замінено, щоб полегшити перетворення масиву об’єктів у рядок.
Часті запитання
Q # 1) Чи можете ви мати на Java масив об'єктів?
Відповідь: Так. Java може мати масив об'єктів, як і те, як вона може мати масив примітивних типів.
Q # 2) Що таке масив об'єктів у Java?
Відповідь: У Java масив - це динамічно створений об'єкт, який може мати елементи, що є примітивними типами даних або об'єктами. Масиву можуть бути присвоєні змінні типу об'єкта.
Запитання №3) Як сортувати об’єкти на Java?
Відповідь: Для сортування об’єктів у Java нам потрібно реалізувати інтерфейс ‘Comparable’ та замінити метод ‘compareTo’ відповідно до певного поля. Тоді ми можемо використовувати метод «Arrays.sort» для сортування масиву об’єктів.
Q # 4) Як сортувати об’єкти в ArrayList?
що з переліченого не є відповідальністю команди?
Відповідь: ArrayList можна сортувати безпосередньо методом Collections.sort (). Метод Collections.sort () сортує елементи природним чином за зростанням.
Висновок
У цьому підручнику ми обговорили тему „Масив об’єктів” разом із різними підтемами, пов’язаними з масивом об’єктів. Ми бачили приклади ініціалізації та сортування масиву об’єктів.
Для сортування класу, об'єкти якого потрібно сортувати, слід реалізувати інтерфейс 'Comparable', а також замінити метод 'compareTo'. Щоб надрукувати вміст «Масиву об’єктів», нам слід також замінити метод «toString», щоб ми могли записати весь вміст кожного об’єкта.
=> Завітайте сюди, щоб побачити навчальну серію Java для всіх.
Рекомендована література
- Java Array - Оголошення, створення та ініціалізація масиву в Java
- Підручник з довжини масиву Java із прикладами коду
- Java Array - Як надрукувати елементи масиву в Java?
- Загальний масив Java - Як імітувати загальні масиви в Java?
- Java Hello World - Створіть свою першу програму на Java сьогодні
- Багатовимірні масиви на Java (2d та 3d масиви на Java)
- Інтерфейс Java та підручник з абстрактних класів із прикладами
- Підручник JAVA для початківців: 100+ практичних відео-підручників Java