Java에서 여러 필드로 객체 정렬
여러 필드로 데이터를 정렬하는 것은 프로그래밍에서 일반적인 작업입니다. 이 질문은 사람 개체 배열을 이름, 나이 순으로 알파벳순으로 정렬하는 방법을 탐구합니다.
다중 필드 정렬을 위해 Collections.sort 사용
이를 달성하려면, 제공된 Comparator를 기반으로 사용자 정의 정렬을 허용하는 Collections.sort 메서드를 활용할 수 있습니다. 비교기는 두 개체를 비교하는 방법을 결정하여 다중 필드 정렬 전략을 정의할 수 있게 해줍니다.
private static void order(List<Person> persons) { Collections.sort(persons, new Comparator() { public int compare(Object o1, Object o2) { String x1 = ((Person) o1).getName(); String x2 = ((Person) o2).getName(); int sComp = x1.compareTo(x2); if (sComp != 0) { return sComp; } Integer x1 = ((Person) o1).getAge(); Integer x2 = ((Person) o2).getAge(); return x1.compareTo(x2); }}); }
이 코드에서 비교 메서드는 먼저 두 사람 개체의 이름(x1 및 x2)을 비교합니다. ). 서로 다른 경우 사전순으로 더 큰 문자열을 나타내는 String.compareTo 메서드의 결과를 반환합니다. 이름이 동일하면 정수 개체에 대해 CompareTo 메서드를 사용하여 연령(x1 및 x2)을 비교합니다.
이 Comparator 전략을 사용하면 Collections.sort 메서드가 사람 개체 목록을 알파벳순으로 정렬합니다. 이름순으로, 이름이 같으면 연령순으로 추가 정렬됩니다.
위 내용은 Java에서 여러 필드를 기준으로 개체 목록을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!