본문 바로가기

Java SE/Comparable<T> example

Comparable<T> example

package utils;
import java.util.*;
/*
Comparable인터페이스를 구현한 클래스는 Arrays.sort()에 의해서 정렬될 수 있다.
이 예제는 Comparable인터페이스를 사용하여 객체배열을 정렬하는 예를 보인 것이다.
*/

public class ArrayTest {

 public static void main(String[] args) {
  Student[] std = new Student[3];
 
  std[0] = new Student(3, "홍길동");
  std[1] = new Student(1, "장미란");
  std[2] = new Student(2, "박세리");
 
  Arrays.sort(std); // 객체배열의 원소를 정렬한다(Comparable인터페이스를 구현한 경우에만 가능함)
  System.out.println(std[0]+", "+std[1]+", "+std[2]);
 }
}

class Student implements Comparable<Student>
{
 private int num;
 private String name;
 
 Student(int num, String name){
  this.num = num;
  this.name = name;
 }
 public int getNum() {
  return num;
 }
 public void setNum(int num) {
  this.num = num;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public int compareTo(Student std){
  return num-std.num;
 }

 public String toString(){
  return name;
 }
}
..................................................................................................................................................................................................................
장미란, 박세리, 홍길동