>Java >java지도 시간 >Java에서 이름별로 개체 배열을 정렬하는 방법은 무엇입니까?

Java에서 이름별로 개체 배열을 정렬하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-25 12:17:12697검색

How to Sort an Array of Objects by Name in Java?

Java에서 객체 배열 정렬

문제:

객체 배열이 있습니다. 문자열을 포함하지 않지만 대신 개체 참조를 포함합니다. 각 개체 참조는 toString 메서드를 통해 이름, ID, 작성자 및 게시자에 대한 정보를 제공합니다. 임무는 이름 필드를 기준으로 이 배열을 정렬하는 것입니다. 그러나 각 개체에서 이름을 추출하여 정렬 기준으로 사용하는 방법이 확실하지 않습니다.

해결책:

각 개체에서 이름을 추출하여 정렬하려면 이 필드에서는 다음 접근 방식을 사용할 수 있습니다.

List<Book> books = new ArrayList<Book>();

Collections.sort(books, new Comparator<Book>() {
  @Override
  public int compare(Book o1, Book o2) {
    return o1.getName().compareTo(o2.getName());
  }
});

이에서는 예:

  • 목록<도서> 은 객체 배열을 나타내는 목록입니다.
  • Collections.sort는 목록을 정렬하는 데 사용됩니다.
  • new Comparator() {...}는 사용자 정의 비교기를 정의하여 정렬 순서.
  • o1.getName()은 getter 메소드를 사용하거나 필드가 다음과 같은 경우 직접 액세스를 사용하여 첫 번째 객체에서 이름 필드를 추출합니다. public.
  • o2.getName()은 두 번째 객체에서 이름 필드를 추출합니다.
  • compareTo는 추출된 이름을 비교하여 이름이 작으면 음수 값을, 작으면 양수 값을 반환합니다. 더 크고, 같으면 0입니다.

위 내용은 Java에서 이름별로 개체 배열을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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