Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.sourceit.hw3;
- import static java.util.Collections.*;
- import java.util.Arrays;
- import java.util.Comparator;
- import java.util.function.Predicate;
- /**
- * Created by tankomaz on 14.12.13.
- */
- public class Lesson5 {
- public static void main(String[] args) {
- // create books
- // add books to array Book[] books
- Book[] books = {};
- // HOW TO SORT BY DIFFERENT CONDITIONS via COMPARATOR
- // print books sorted by author
- Book[] sortedBooksByAuthor =
- Book.sortBooks(books, (book1, book2) -> {
- return book1.getAuthor().compareToIgnoreCase(book2.getAuthor());
- });
- // printBooksToConsole(sortedBooksByAuthor);
- // ================ filter by author
- Book[] filteredBooksByAuthor = Arrays.stream(books)
- .filter((book) -> book.getAuthor().equals("Specific Author"))
- .toArray(Book[]::new);
- // printBooksToConsole(filteredBooksByAuthor);
- Book[] filteredBooksByAuthor2 =
- Book.filterBooks(books, (book) -> book.getAuthor().equals(""));
- }
- }
- class Book {
- int id;
- String title;
- String author;
- String publishingHouse;
- int dateOfRelease;
- int pages;
- int price;
- String binding;
- public static Book[] sortBooks(Book[] books, Comparator<Book> comparator) {
- Book[] resultBooks = Arrays.copyOf(books, books.length);
- Arrays.sort(resultBooks, comparator);
- return resultBooks;
- }
- public static Book[] filterBooks(Book[] books, Predicate<Book> predicate) {
- return Arrays.stream(books)
- .filter(predicate)
- .toArray(Book[]::new);
- }
- public String getAuthor() {
- return this.author;
- }
- }
Add Comment
Please, Sign In to add comment