idzik

Java-BootCamp-Kolekcje-Book

Nov 15th, 2016
401
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.52 KB | None | 0 0
  1. import java.util.List;
  2. import java.util.ArrayList;
  3. import java.util.Arrays;
  4. import java.util.Collection;
  5. import java.util.Collections;
  6. import java.util.Iterator;
  7.  
  8. public class Book implements Comparable <Book>{
  9.     private String title;
  10.     private int pages;
  11.     private double price;
  12.  
  13.     public Book(String title, int pages, double price) {
  14.         super();
  15.         setTitle(title);
  16.         setPages(pages);
  17.         setPrice(price);
  18.     }
  19.    
  20.  
  21.     @Override
  22.     public String toString() {
  23.         return "Book [title=" + title + ", pages=" + pages + ", price=" + price + "]";
  24.     }
  25.  
  26.  
  27.     public static void main(String[] args) {
  28.         List<Book> lista = new ArrayList<Book>();
  29.         Book[] books = { new Book("Z-Rambo", 1113, 25.56), new Book("Rocky", 999, 45.99),
  30.                 new Book("Transporter", 1234, 56.78) };
  31.         lista.addAll(Arrays.asList(books));
  32.         Collections.sort(lista);
  33.         System.out.println("Sortowanie po tytule");
  34.         for(Book el:lista){
  35.             System.out.println(el);
  36.         }
  37.         System.out.println("------------");
  38.         System.out.println("Sortowanie po ilości stron");
  39.         Collections.sort(lista, new ComparatorPageCount());
  40.         for(Book el:lista){
  41.             System.out.println(el);
  42.         }
  43.         System.out.println("------------");
  44.         System.out.println("Sortowanie po cenie");
  45.         Collections.sort(lista, new ComparatorPrice());
  46.         for(Book el:lista){
  47.             System.out.println(el);
  48.         }
  49.     }
  50.  
  51.  
  52.     public String getTitle() {
  53.         return title;
  54.     }
  55.  
  56.  
  57.     public void setTitle(String title) {
  58.         this.title = title;
  59.     }
  60.  
  61.  
  62.     public int getPages() {
  63.         return pages;
  64.     }
  65.  
  66.  
  67.     public void setPages(int pages) {
  68.         if (pages>0) this.pages = pages;
  69.         else this.pages=0;
  70.     }
  71.  
  72.  
  73.     public double getPrice() {
  74.         return price;
  75.     }
  76.  
  77.  
  78.     public void setPrice(double price) {
  79.         if (price>0)this.price = price;
  80.         else price=0;
  81.     }
  82.  
  83.  
  84.     @Override
  85.     public int compareTo(Book book) {
  86.         if (this.getTitle().compareTo(book.getTitle())<0) return -1;
  87.         else if (this.getTitle().compareTo(book.getTitle())>0) return 1;
  88.         return 0;
  89.     }
  90.  
  91. }
  92.  
  93.  
  94. import java.util.Comparator;
  95.  
  96. public class ComparatorPageCount implements Comparator<Book> {
  97.  
  98.     @Override
  99.     public int compare(Book book1, Book book2) {
  100.         if (book1.getPages()<book2.getPages())
  101.             return -1;
  102.         else if (book1.getPages()>book2.getPages())
  103.             return 1;
  104.         return 0;
  105.     }
  106.  
  107. }
  108.  
  109.  
  110. import java.util.Comparator;
  111.  
  112. public class ComparatorPrice implements Comparator<Book> {
  113.  
  114.     @Override
  115.     public int compare(Book book1, Book book2) {
  116.         if (book1.getPrice()<book2.getPrice())
  117.             return -1;
  118.         else if (book1.getPrice()>book2.getPrice())
  119.             return 1;
  120.         return 0;
  121.     }
  122.  
  123. }
Advertisement
Add Comment
Please, Sign In to add comment