Avatar ·

Ordenando ArrayList de objetos próprios por campo em Java

Olá a todos! Sou novo em Java e enfrentei um problema ao ordenar uma lista de objetos. Tenho uma classe `Book` com campos `title` (String) e `year` (int). Armazeno vários livros em um `ArrayList`, e agora preciso ordenar essa lista pelo ano de publicação — do mais antigo para o mais novo.\n\nOuvi falar sobre `Collections.sort()`, mas ele funciona apenas para listas de números ou strings. Quando tento aplicá-lo à minha lista de livros, o compilador dá o erro: "The method sort(List) in the type Collections is not applicable for the arguments (ArrayList)".\n\nAqui está meu código de exemplo:\n```java\nimport java.util.ArrayList;\nimport java.util.Collections;\n\npublic class Book {\n String title;\n int year;\n\n public Book(String title, int year) {\n this.title = title;\n this.year = year;\n }\n\n public static void main(String[] args) {\n ArrayList books = new ArrayList<>();\n books.add(new Book("Guerra e Paz", 1869));\n books.add(new Bo