I am given the task to use the constructor TreeSet(Comparator<E> comparator
) with a lambda expression to make the set be sorted by book title.
The following information is given:
public class Book implements Comparable<Book> {
private String isbn;
private String title;
private String author;
public int compareTo(Book obj) {
return isbn.compareTo(obj.isbn);
}
// all-args constructor and getters
}
What I have thought about so far is: I think that the constructor allows you to define the Comparator. Perhaps I should do:
Comparator<String> comp =
(String title, String obj.title) -> (title.compareTo(obj.title));
Then put this comp into the TreeSet<Book> bookSet = new TreeSet<Book>(comp);
However, that doesn't seem to work. I think what I need to do is use the lambda expression in the same row when creating the new TreeSet, however, I am unsure how to do so.