Saturday, 6 February 2016

Java8 Comparator Example


public static void main(String[] args) {
        Book book1 = new Book("Head First Java", 38.9f,5);
        Book book2 = new Book("Thinking in Java", 30.0f,3);
        Book book3 = new Book("Effective Java", 50.0f, 8);
        Book book4 = new Book("Code Complete", 42.5f, 9);

        List<Book> listBooks = Arrays.asList(book1, book2, book3, book4);

        System.out.println("Before sorting:");
        System.out.println(listBooks);

        Comparator<Book> titleComparator = new Comparator<Book>() {
            public int compare(Book book1, Book book2) {
                return book1.getTitle().compareTo(book2.getTitle());
            }
        };

        Collections.sort(listBooks, titleComparator);

        System.out.println("\nAfter sorting by title:");
        System.out.println(listBooks);
       
        Comparator<Book> ascOldEnough = (Book b1, Book b2) -> (int) (b1.getOldEnough() - b2.getOldEnough());

        Comparator<Book> descPriceComp = (Book b1, Book b2) -> (int) (b2.getPrice() - b1.getPrice());

        Collections.sort(listBooks, descPriceComp);

        System.out.println("\nAfter sorting by descending price:");
        System.out.println(listBooks);
       
        Collections.sort(listBooks, ascOldEnough);
        System.out.println("\nAfter sorting by descending old enough: +++");
        System.out.println(listBooks);
        Collections.sort(listBooks, (b1, b2) -> (int) (b1.getPrice() - b2.getPrice()));

        System.out.println("\nAfter sorting by ascending price:");
        System.out.println(listBooks);
    }

No comments:

Post a Comment

Monads in Scala

Monads belongs to Advance Scala   concepts. It  is not a class or a trait; it is a concept. It is an object which covers other object. A Mon...