Trong bài này, chúng ta sẽ hiểu cách sắp xếp arrayList của các đối tượng tùy chỉnh theo thuộc tính. Lớp TheArrayList mở rộng AbstractList và triển khai giao diện Danh sách. ArrayList hỗ trợ các mảng động có thể phát triển khi cần thiết.
Danh sách mảng được tạo với kích thước ban đầu. Khi vượt quá kích thước này, bộ sưu tập sẽ tự động được phóng to. Khi các đối tượng bị xóa, mảng có thể bị thu hẹp.
Dưới đây là một minh chứng về điều tương tự -
Giả sử đầu vào của chúng tôi là -
The list is defined as Java Scala Python Mysql
Đầu ra mong muốn sẽ là -
The list after sorting values: Java Mysql Python Scala
Thuật toán
Step 1 - START Step 2 - Declare namely Step 3 - Define the values. Step 4 - Use the ‘sort’ method to sort the list. Step 5 - Use the ‘compareTo’ method to compare properties of the list. Step 6 - Use the ‘add’ method to add new values to the list. Step 7 - In the main method, create an array list, and invoke the ‘sort’ method. Step 8 - Display the result Step 9 - Stop
Ví dụ 1
Ở đây, chúng tôi liên kết tất cả các hoạt động với nhau trong hàm "main".
import java.util.*; class CustomObject { private String custom_property; public CustomObject(String property){ this.custom_property = property; } public String get_custom_property(){ return this.custom_property; } } public class Demo { public static void print(ArrayList<CustomObject> input_list){ for (CustomObject object : input_list) { System.out.println(object.get_custom_property()); } } public static void sort(ArrayList<CustomObject> input_list){ input_list.sort((object_1, object_2) -> object_1.get_custom_property().compareTo( object_2.get_custom_property())); } public static void add(ArrayList<CustomObject> input_list){ input_list.add(new CustomObject("Java")); input_list.add(new CustomObject("Scala")); input_list.add(new CustomObject("Python")); input_list.add(new CustomObject("Mysql")); } public static void main(String[] args){ System.out.println("Required packages have been imported"); ArrayList<CustomObject> input_list = new ArrayList<>(); add(input_list); System.out.println("The list is defined as "); print(input_list); sort(input_list); System.out.println("\nThe list after sorting values: "); print(input_list); } }
Đầu ra
Required packages have been imported The list is defined as Java Scala Python Mysql The list after sorting values: Java Mysql Python Scala
Ví dụ 2
Ở đây, chúng tôi đóng gói các hoạt động thành các hàm trưng bày lập trình hướng đối tượng.
import java.util.*; class CustomObject { private String custom_property; public CustomObject(String property){ this.custom_property = property; } public String get_custom_property(){ return this.custom_property; } } public class Demo { public static void main(String[] args){ System.out.println("Required packages have been imported"); ArrayList<CustomObject> input_list = new ArrayList<>(); input_list.add(new CustomObject("Java")); input_list.add(new CustomObject("Scala")); input_list.add(new CustomObject("Python")); input_list.add(new CustomObject("Mysql")); System.out.println("The number is defined as "); for (CustomObject object : input_list) { System.out.println(object.get_custom_property()); } input_list.sort((object_1, object_2) -> object_1.get_custom_property().compareTo( object_2.get_custom_property())); System.out.println("\nThe list after sorting values: "); for (CustomObject object : input_list) { System.out.println(object.get_custom_property()); } } }
Đầu ra
Required packages have been imported The number is defined as Java Scala Python Mysql The list after sorting values: Java Mysql Python Scala