2013년 1월 16일 수요일

[Java] 비교를 통한 정렬!


public void sort() {

Comparator<Board> cp = new Comparator<Board>() {

@Override
public int compare(Board o1, Board o2) {
// TODO Auto-generated method stub
if(o1.getName().compareTo(o2.getName())<0)
return -1;
elseif (o1.getName().compareTo(o2.getName())>0)
return 1;
else
return 0;
}
};// 익명 내부 인터페이스(클래스)

Collections.sort(list, cp);
}

---------------------------------------------------------------------------------

익명 내부 인터페이스를 정의하여 사용해보았다!
Comparator는 인터페이스로서 객체로 생성할 수 없으며 항상 메소드를 오버라이딩하여야 한다. 익명 내부 인터페이스를 정의하여 사용하면 객체를 임시적으로 생성하여 메소드를 사용할 수가 있어서 번거로운 인터페이스 구현이나 클래스 상속후 오버라이딩 해줘야하는 일이 줄어든다.

아무튼 cp라는 Comparator인터페이스의 compare메소드를 오버라이딩한뒤 static 메소드 Collections.sort(); 메소드를 호출하여 정렬하고 있다.

댓글 없음:

댓글 쓰기