2012-06-15 5 views
0

어떻게 날짜/시간 문자열 목록의 순서를 정렬 할 수있는 Java Comparator 클래스를 구현합니까?자바에서 날짜/시간순으로 목록 비교 및 ​​정렬 방법?

은 내가 java.util.Date로 구문 분석

2012-06-15T12:01:00.000+08:00 
2012-06-25T12:15:00.000+08:00 
2012-06-08T00:00:00.000Z 

그런 다음이

2012-06-08T00:00:00.000Z 
2012-06-15T12:01:00.000+08:00 
2012-06-25T12:15:00.000+08:00 

답변

6

두 개의 개의 이슈가 있습니다 (문자열을 직접 파싱하면 효과가 없을 수 있기 때문에).

  1. 문자열을 날짜로 변환하십시오. 자세한 내용은 SimpleDateFormatDateFormat.parse() 방법
  2. Collections.sort을 사용하여 다음 날짜를 컬렉션에서 정렬하십시오.
2

처럼 정렬해야합니다. 이미 구현 된 날짜 Comparable

0

글쎄, 빠른 해결책을 원한다면 다음과 같습니다.

http://www.ltg.ed.ac.uk/NITE/nxt/apidoc/net/sourceforge/nite/util/SortedList.html.

또한 모든 날짜가 다를 경우 TreeSet을 사용하십시오. 다음과 같이 사용할 수 있습니다.

새 TreeSet을 만들고 그 안에 날짜를 계속 추가하십시오. TreeSet은 Comparable (또는 Comparator가 제공)을 구현하고 있으면 TreeSet이 포함 된 모든 객체를 정렬하므로 자동으로 정렬됩니다.