Java에서 사용자 정의 객체를 정렬하기 위한 코드는 다음과 같습니다 -
예시
import java.io.*;
import java.util.*;
public class Demo{
static void sort_objects(String my_data){
String[] my_vals = my_data.split(" ");
Map<Integer, ArrayList<String> > my_map = new TreeMap<>();
for (int i = 1; i < my_vals.length; i += 2){
int my_age = Integer.parseInt(my_vals[i]);
String name = my_vals[i - 1];
if (my_map.containsKey(my_age)){
ArrayList<String> my_list = my_map.get(my_age);
my_list.add(name);
Collections.sort(my_list);
my_map.remove(my_age);
my_map.put(my_age, my_list);
}
else{
ArrayList<String> my_list = new ArrayList<>();
my_list.add(name);
my_map.put(my_age, my_list);
}
}
for (Map.Entry<Integer, ArrayList<String> > entry : my_map.entrySet()){
ArrayList<String> al1 = entry.getValue();
for (int i = 0; i < al1.size(); i++)
System.out.print(al1.get(i) + " " + entry.getKey() + " ");
}
}
public static void main(String args[]){
String my_obj = "Joe 36 Hannah 24 Jill 13 Jack 1 Preet 8 Deep 45";
System.out.println("The objects after sorting are : ");
sort_objects(my_obj);
}
} 출력
The objects after sorting are : Jack 1 Preet 8 Jill 13 Hannah 24 Joe 36 Deep 45
Demo라는 클래스에는 정수와 배열 목록을 매핑하는 해시맵을 생성하는 'sort_objects'라는 함수가 포함되어 있습니다. 값을 반복하고 어느 것이 문자열이고 어떤 것이 정수 요소인지 확인하고 정수 값을 기준으로 정렬됩니다. 메인 함수에서 스트링 객체가 생성되고 이 스트링 객체에 대한 함수가 호출되어 콘솔에 해당 메시지가 출력된다.