>Java >java지도 시간 >Java에서 날짜별로 객체의 ArrayList를 어떻게 정렬합니까?

Java에서 날짜별로 객체의 ArrayList를 어떻게 정렬합니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-06 18:19:16177검색

How Do I Sort an ArrayList of Objects by Date in Java?

날짜별로 ArrayList의 개체 정렬

ArrayList의 요소를 알파벳순으로 정렬하는 방법에 대한 수많은 예가 밝혀진 광범위한 연구를 통해 여전히 다음 사항을 탐구해야 합니다. 요소를 날짜별로 정렬하는 방법. 이 기사에서는 이러한 정렬 메커니즘의 구현에 대해 자세히 설명합니다.

비교 가능 인터페이스 구현

한 가지 접근 방식은 정렬할 개체 내에 Comparable 인터페이스를 구현하는 것입니다. 이렇게 하면 해당 개체를 동일한 유형의 다른 개체와 비교할 수 있습니다. 방법은 다음과 같습니다.

public class MyObject implements Comparable<MyObject> {

  private Date dateTime;

  // getters and setters

  @Override
  public int compareTo(MyObject o) {
    return getDateTime().compareTo(o.getDateTime());
  }
}

Collections.sort()를 사용하여 정렬

객체를 비교할 수 있으면 Collections.sort() 메서드를 사용하여 정렬할 수 있습니다.

Collections.sort(myList);

커스텀 비교기

때로는 모델을 수정하는 것이 바람직하지 않을 수 있습니다. 이러한 경우 사용자 정의 비교기를 즉시 생성할 수 있습니다.

Collections.sort(myList, new Comparator<MyObject>() {
  public int compare(MyObject o1, MyObject o2) {
      return o1.getDateTime().compareTo(o2.getDateTime());
  }
});

Null 값 처리

DateTime에서 Null 값의 가능성을 고려하는 것이 중요합니다. 필드. NullPointerException을 방지하려면 다음과 같이 null 값을 처리하는 것이 좋습니다.

public class MyObject implements Comparable<MyObject> {

  private Date dateTime;

  // getters and setters

  @Override
  public int compareTo(MyObject o) {
    if (getDateTime() == null || o.getDateTime() == null)
      return 0;
    return getDateTime().compareTo(o.getDateTime());
  }
}

또는 사용자 지정 비교기에서:

Collections.sort(myList, new Comparator<MyObject>() {
  public int compare(MyObject o1, MyObject o2) {
      if (o1.getDateTime() == null || o2.getDateTime() == null)
        return 0;
      return o1.getDateTime().compareTo(o2.getDateTime());
  }
});

위 내용은 Java에서 날짜별로 객체의 ArrayList를 어떻게 정렬합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.