Collection_ TreeSet
Posted 2015. 4. 10. 11:58중복 되지 않고
기본으로 오름차순으로 되어 있다.
내림 차순일 경우 구현 해야 하며
package chap11;
import java.util.*;
// Comparable을 implements 했을 경우.
// 오버라이딩 해서 기본 sort를 사용 하고,
// implements 하지 않았을 경우.
// comparable을 implement한 새로운 class를 만들어서 구현해서 쓴다.
class Phone implements Comparable{
String name;
int number;
Phone(String name, int number){
this.name = name;
this.number = number;
}
// 이름순으로 정렬하도록 구현
public int compareTo(Object o){
Phone p = (Phone)o;
return name.compareTo( p.name );
}
// 전화번호순으로 정렬
/* public int compareTo(Object o){
Phone p = (Phone)o;
return number - p.number;
}*/
@Override
public String toString() {
return name + ":" + number;
}
}
public class ComparatorToEx2 {
public static void main(String[] args) {
TreeSet list = new TreeSet();
// 내가 만들 클래스일 경우 정렬을 구현 해야 한다. compareTo 에러 발생.!!
list.add( new Phone("김삿갓", 1235));
list.add( new Phone("이몽룡", 3245));
list.add( new Phone("홍길동", 1241));
list.add( new Phone("임꺽정", 5142));
System.out.println(list);
// 오버라이딩이 겹치는 경우 새로운 클래스를 만들어서 쓴다.
TreeSet list2 = new TreeSet(new NumberSort());
list2.add( new Phone("김삿갓", 1235));
list2.add( new Phone("이몽룡", 3245));
list2.add( new Phone("홍길동", 1241));
list2.add( new Phone("임꺽정", 5142));
System.out.println(list2);
}
}
class NumberSort implements Comparator{
@Override
public int compare( Object o1, Object o2 ){
Phone p1 = (Phone)o1;
Phone p2 = (Phone)o2;
return p1.number - p2.number;
}
}
'Java !!!' 카테고리의 다른 글
Collection _Iterator (0) | 2015.04.10 |
---|---|
Collection_ HastSet (0) | 2015.04.10 |
Collection_ Set 오름차순 내림차순 (0) | 2015.04.10 |
String_2 (0) | 2015.04.07 |
String_1 (0) | 2015.04.07 |
- Filed under : Java !!!