List 객체를 정렬을 하고자 한다.
이때 Comparator 를 사용하면 된다.
1. 정렬할 List 객체
2. sort 객체
3. List Item 이 되는 객체
여기서 1번에 해당되는 List 객체는 list 이다.
2번에 해당되는 객체는 comparator 이다
3번에 해당되는 클래스는 TestVO 이다.
일단 TestVO 클래스에 정렬을 하고자 하는 속성이 반드시 있어야 한다.
그 속성을 이용하여 Comparator의 객체 생성시 조건에 넣는다.
그리고 아래와 같이 sort 를 시켜준다.
이때 Comparator 를 사용하면 된다.
크게 세가지가 필요하다.
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class ListSortTest {
public static void main(final String[] arg){
List<TestVO> list = new ArrayList<TestVO>();
Comparator<TestVO> comparator = new Comparator<TestVO>(){
public int compare(final TestVO o1, final TestVO o2) {
return Long.valueOf(o1.getOrderDate()) > Long.valueOf(o2.getOrderDate()) ? 0 : 1;
}
} ;
for (int i = 0; i < 100; i++) {
list.add(new TestVO(String.valueOf(Calendar.getInstance().getTimeInMillis())));
try {
Thread.sleep(10);
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
for (TestVO testVO : list) {
System.out.println(testVO.getOrderDate());
}
///////////////////////////////
// sort
Collections.sort(list, comparator); // sort
for (TestVO testVO : list) {
System.out.println(testVO.getOrderDate());
}
}
}
class TestVO {
private String orderDate;
public TestVO(final String sortDate){
super();
this.setOrderDate(sortDate);
}
/**
* @return orderDate
*/
public String getOrderDate() {
return this.orderDate;
}
/**
* @param orderDate : orderDate을 설정
*/
public void setOrderDate(final String orderDate) {
this.orderDate = orderDate;
}
}
1. 정렬할 List 객체
2. sort 객체
3. List Item 이 되는 객체
여기서 1번에 해당되는 List 객체는 list 이다.
List<TestVO> list = new ArrayList<TestVO>();
2번에 해당되는 객체는 comparator 이다
Comparator<TestVO> comparator = new Comparator<TestVO>(){
public int compare(final TestVO o1, final TestVO o2) {
return Long.valueOf(o1.getOrderDate()) > Long.valueOf(o2.getOrderDate()) ? 0 : 1;
}
} ;
3번에 해당되는 클래스는 TestVO 이다.
일단 TestVO 클래스에 정렬을 하고자 하는 속성이 반드시 있어야 한다.
그 속성을 이용하여 Comparator의 객체 생성시 조건에 넣는다.
그리고 아래와 같이 sort 를 시켜준다.
Collections.sort(list, comparator); // sort
'언어 > Java' 카테고리의 다른 글
[JAVA5.0] 자바 객체 직렬화하여 문자열 변수에 저장 (0) | 2011.02.25 |
---|---|
[JAVA5.0] 삼항연산자 (0) | 2010.11.02 |
new (0) | 2010.10.27 |
Thread 간단 tip (0) | 2009.09.29 |
[JAVA5.0] 열거형 상수, enum 사용( Enumeration ) (0) | 2009.03.24 |