import java.util.List; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Iterator; public class Book implements Comparable { private String title; private int pages; private double price; public Book(String title, int pages, double price) { super(); setTitle(title); setPages(pages); setPrice(price); } @Override public String toString() { return "Book [title=" + title + ", pages=" + pages + ", price=" + price + "]"; } public static void main(String[] args) { List lista = new ArrayList(); Book[] books = { new Book("Z-Rambo", 1113, 25.56), new Book("Rocky", 999, 45.99), new Book("Transporter", 1234, 56.78) }; lista.addAll(Arrays.asList(books)); Collections.sort(lista); System.out.println("Sortowanie po tytule"); for(Book el:lista){ System.out.println(el); } System.out.println("------------"); System.out.println("Sortowanie po iloĊ›ci stron"); Collections.sort(lista, new ComparatorPageCount()); for(Book el:lista){ System.out.println(el); } System.out.println("------------"); System.out.println("Sortowanie po cenie"); Collections.sort(lista, new ComparatorPrice()); for(Book el:lista){ System.out.println(el); } } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public int getPages() { return pages; } public void setPages(int pages) { if (pages>0) this.pages = pages; else this.pages=0; } public double getPrice() { return price; } public void setPrice(double price) { if (price>0)this.price = price; else price=0; } @Override public int compareTo(Book book) { if (this.getTitle().compareTo(book.getTitle())<0) return -1; else if (this.getTitle().compareTo(book.getTitle())>0) return 1; return 0; } } import java.util.Comparator; public class ComparatorPageCount implements Comparator { @Override public int compare(Book book1, Book book2) { if (book1.getPages()book2.getPages()) return 1; return 0; } } import java.util.Comparator; public class ComparatorPrice implements Comparator { @Override public int compare(Book book1, Book book2) { if (book1.getPrice()book2.getPrice()) return 1; return 0; } }