2013-10-12 4 views
1

나는 ArrayList의 목록을 가지고 있으며 각 arraylist는 날짜와 문자열로 구성되어 있습니다. arraylist의 날짜에 따라 목록을 정렬하고 싶습니다. 나는 해답을 찾고자했지만 온라인으로 찾을 수 없습니다. 대부분의 예제는 날짜별로 객체 목록을 정렬합니다. 어떤 제안?ArrayList의 목록을 ArrayList의 날짜순으로 정렬

public List<ArrayList> SuggestionReport() { 
    Query q = em.createQuery("SELECT s FROM SuggestionEntity s"); 
    List<ArrayList> report = new ArrayList(); 
    for (Object o : q.getResultList()) { 
     suggestionEntity = (SuggestionEntity) o; 
     ArrayList suggestion = new ArrayList(); 
     suggestion.add(suggestionEntity.getSuggestionDate()); 
     suggestion.add(suggestionEntity.getContent()); 
     report.add(suggestion); 
    } 

    return report; 
} 

ps. 나는 당신이 당신의 자신의 비교기를 작성해야 목록

+2

이 SQL은 "s.suggestionDate 내림차순으로 SuggestionEntity의 위해로부터의 선택"국지적 인 "s.suggestionDate는"데이터베이스 필드에 대한 order by 여기에 자세히 알아보기 이미 정렬. –

+0

http://stackoverflow.com/questions/2784514/sort-arraylist-of-custom-objects-by-property – Salem

답변

4

그냥

에 쿼리를 변경, 추가 코드를 작성할 필요가 없다
SELECT s FROM SuggestionEntity s order by suggestion_date ASC|DESC 

여기에서 suggestion_date은 열 이름입니다.

ASC|DESC을 주문 하시려면 requirment를 기준으로 ASC 또는 DESC을 선택하십시오.

는 결과가 있었다 .than

당신이 date.try으로 조회 할 수 있습니다
+0

감사합니다. 그러나 이것은 자바 ejb 쿼리에도 적용 할만한가? – ayampenyet

+0

Ofcourse,'sql'을 지원합니까? 구문이 변경 될 수 있습니다. 그러나 개념은 동일합니다. :) –

+0

도움을 많이 주셔서 감사합니다! 고맙습니다 :) – ayampenyet

0

을 반환하기 전에 목록을 정렬 한 후 다음과 같이 그것을 정렬 할이 :

Collections.sort(list, myComparator);