Facebook
From Łukasz, 6 Years ago, written in Java.
Embed
Download Paste or View Raw
Hits: 244
  1.  
  2. package pracaDomowa3;
  3.  
  4. import java.util.Objects;
  5.  
  6.  
  7. public class Book implements Comparable<Book> {
  8.    
  9.     private String title;
  10.     private String author;
  11.     private int pages;
  12.  
  13.     public Book(String title, String author, int pages){
  14.         this.title = title;
  15.         this.author = author;
  16.         this.pages = pages;
  17.    
  18.     }
  19.  
  20.     @Override
  21.     public int hashCode() {
  22.         int hash = 7;
  23.         hash = 31 * hash + Objects.hashCode(this.title);
  24.         hash = 31 * hash + Objects.hashCode(this.author);
  25.         hash = 31 * hash + this.pages;
  26.         return hash;
  27.     }
  28.  
  29.     @Override
  30.     public boolean equals(Object obj) {
  31.         if (this == obj) {
  32.             return true;
  33.         }
  34.         if (obj == null) {
  35.             return false;
  36.         }
  37.         if (getClass() != obj.getClass()) {
  38.             return false;
  39.         }
  40.         final Book other = (Book) obj;
  41.         if (this.pages != other.pages) {
  42.             return false;
  43.         }
  44.         if (!Objects.equals(this.title, other.title)) {
  45.             return false;
  46.         }
  47.         if (!Objects.equals(this.author, other.author)) {
  48.             return false;
  49.         }
  50.         return true;
  51.     }
  52.  
  53.     @Override
  54.     public String toString() {
  55.         return "Book{" + "title=" + title + ", author=" + author + ", pages=" + pages + '}';
  56.     }
  57.     @Override
  58.     public int compareTo(Book o){
  59.         int compareTitle = title.compareTo(o.title);
  60.        
  61.         if (compareTitle == 0){
  62.             return author.compareTo(o.author);
  63.         }
  64.         else{
  65.             return compareTitle;
  66.         }
  67.     }
  68.    
  69. }
  70.  
  71.  
  72. ------------------------------------------------------------------------------------
  73.  
  74.  
  75. package pracaDomowa3;
  76.  
  77. import java.util.ArrayList;
  78. import java.util.Collections;
  79. import java.util.List;
  80.  
  81.  
  82. public class Start {
  83.     public static void main(String[] args) {
  84.         List<Book> books = new ArrayList<>();
  85.         books.add(new Book("Podstawy języka Java","A",100));
  86.         books.add(new Book("Java dla opornych","B",100));
  87.         books.add(new Book("Podstawy języka Java","C",150));
  88.         books.add(new Book("C# dla początkujących","B",200));
  89.         books.add(new Book("W pustyni i w puszczy","Henryk Sienkiewicz",350));
  90.        
  91.         for(Book book : books){
  92.             System.out.println(book);
  93.         }
  94.        
  95.         Collections.sort(books);
  96.        
  97.         System.out.println("\nPosortowane: ");
  98.         for (Book book : books){
  99.             System.out.println(books);
  100.         }
  101.         CompareBook.compare(books);
  102.        
  103.         for (Book book : books){
  104.             System.out.println(books);
  105.         }
  106.     }
  107. }
  108.  
  109. ---------------------------------------------------------------------------------------
  110.  
  111.  
  112. package pracaDomowa3;
  113.  
  114. import java.util.Comparator;
  115. import java.util.List;
  116.  
  117.  
  118. public class CompareBook implements Comparator<Book> {
  119.  
  120.    
  121.  
  122.     @Override
  123.     public int compare(Book o1, Book o2) {
  124.         int a = pages(o2) - pages(o1);
  125.         if (a == 0){
  126.              author(o1) - author(o2);
  127.         }
  128.         else{
  129.             return a;
  130.         }
  131.     }
  132.  
  133.    
  134. }
  135.