객체로 이루어진 배열의 경우에는 객체 클래스가 Comparable인터페이스의 compareTo() 메서드를 구현하고 있어야 정렬이 됩니다. 예제는 나이별로 사람들을 정리하는 예제입니다.
import java.util.Arrays;
class People implements Comparable {
private String name;
private int age;
public People(String name, int age){
this.name = name;
this.age= age;
}
public String print(){
return name+"("+age+")";
}
@Override
public int compareTo(People people) {
// TODO Auto-generated method stub
if (this.age < people.age) {
return -1;
} else if (this.age == people.age) {
return 0;
} else {
return 1;
}
}
}
public class Sort{
public static void main(String[] args) {
People[] arr = { new People("상현", 20)
, new People("철수", 14)
, new People("경완", 31)
, new People("대호", 40)
, new People("지운", 24)
};
Arrays.sort(arr); //오름차순 정렬
for (People i : arr) { //오름차순 출력
System.out.print("["+i.print()+"]");
}
Arrays.sort(arr,Collections.reverseOrder()); //내림차순 정렬
System.out.println();
for (People i : arr) { //내림차순 출력
System.out.print("["+i.print()+"]");
}
}
}
[스레드 동기화] 이상한 동기화문제 (0) | 2023.04.03 |
---|---|
스트림 외울거 (0) | 2023.03.30 |
[정규식] _포함 안포함 비교 (1) | 2023.03.24 |
[인터페이스,추상클래스] 비교글 (0) | 2023.03.24 |
[재귀함수] (1) | 2023.03.24 |
댓글 영역