이 기사에서는 속성별로 사용자 정의 개체의 arrayList를 정렬하는 방법을 이해합니다. ArrayList 클래스는 AbstractList를 확장하고 List 인터페이스를 구현합니다. ArrayList는 필요에 따라 확장할 수 있는 동적 배열을 지원합니다.
배열 목록은 초기 크기로 생성됩니다. 이 크기를 초과하면 컬렉션이 자동으로 확대됩니다. 개체가 제거되면 배열이 축소될 수 있습니다.
아래는 동일한 데모입니다 -
입력이 다음과 같다고 가정 -
The list is defined as Java Scala Python Mysql
원하는 출력은 -
The list after sorting values: Java Mysql Python Scala
알고리즘
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
예시 1
여기에서 모든 작업을 '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); } }
출력
Required packages have been imported The list is defined as Java Scala Python Mysql The list after sorting values: Java Mysql Python Scala
예시 2
여기에서 객체 지향 프로그래밍을 나타내는 함수로 작업을 캡슐화합니다.
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()); } } }
출력
Required packages have been imported The number is defined as Java Scala Python Mysql The list after sorting values: Java Mysql Python Scala