본문 바로가기

자바(JAVA)/기본 문법

[자바 JAVA] 커스텀 객체 정렬 예제

자바 커스텀 객체 정렬 예제

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class Main {

	public static void main(String[] args) {

		List<Members> memberArray = new ArrayList<>();

		memberArray.add(new Members("lina", 25));
		memberArray.add(new Members("aria", 37));
		memberArray.add(new Members("tim", 29));

		System.out.println("------ 정렬 전 ------");

		System.out.println(memberArray + "\n");

		memberArray.sort(Comparator.comparing(Members::getName));

		System.out.println("------ 이름 순으로 오름차순 정렬 후 ------");

		System.out.println(memberArray + "\n");

		memberArray.sort(Comparator.comparing(Members::getName, Comparator.reverseOrder()));

		System.out.println("------ 이름 순으로 내림차순 정렬 후 ------");

		System.out.println(memberArray + "\n");

	}

	public static class Members {
		String name;
		int age;

		public Members(String name, int age) {
			this.name = name;
			this.age = age;
		}

		public String getName() {
			return this.name;
		}

		public int getAge() {
			return this.age;
		}

		@Override
		public String toString() {

			return "{" + this.name + ", " + this.age + "}";

		}
	}
 }

 

 

출력 결과는 아래와 같다.