public class Code { public static void main(String[] args) { List<String> names = Arrays.asList("Paul", "Jane", "Sam", "Michaela"); // Way to sort prior to Java 8 lambdas Collections.sort(names, new Comparator<String>() { @Override public int compare(String a, String b) { return b.compareTo(a); } }); // first iteration with lambda Collections.sort(names, (String a, String b) -> { return b.compareTo(a); }); // now remove the data types and allow the compile to infer the type Collections.sort(names, (a, b) -> b.compareTo(a)); /* Book { String title String authorFName String authorLName int pages } */ Book book1 = new Book("Missing Peregrine", "Ranson", "Riggs", 382); Book book2 = new Book("Harry Potter", "JK", "Rowling", 411); Book book3 = new Book("The cat", "Dr", "Seuss", 45); List<Book> books = Arrays.asList(book1, book2, book3); int total = book.stream() .collect(Collectors.summingInt(Book::getPages)); System.out.println(total); //838 List<String> lilst = books.stream() .map(Book::getAuthorLName) .collect(Collectors.toList()); System.out.println(list); // [Riggs, Rowling, Seuss] // create a list with duplicates List<Book> dupBooks = Arrays.asList(book1, book2, book3, book1, book2); System.out.println("Before removing dupliates"); System.out.println(dupBooks.toString()); // remove duoplicates using a Set Collection<Book> noDups = new HashSet<>(dupBooks); System.out.println("After removing dupliates"); System.out.println(noDups.toString()); // example of using Set to eliminate dups and sort automatically Set<Integer> numbers = new HashSet<>(asList(4,3,3,3,2,1,1,1)); System.out.println(numbers.toString()); // [1,2,3,4] } }