You are on page 1of 1

import java.util.

Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> names = Arrays.asList("Jhon", "Sarah", "Mark", "Tyla",
"Ellisha", "Eamonn");
List<Integer> numbers = Arrays.asList(1, 4, 2346, 123, 76, 11, 0, 62, 23,
50);
//1.Sort the list
names.stream()
.sorted()
.forEach(s -> System.out.print(s + " "));
System.out.println();
numbers.stream()
.sorted()
.forEach(i -> System.out.print(i + " "));
System.out.println();
//2. print only those name start with E
names.stream()
.filter(s -> s.startsWith("E"))
.collect(Collectors.toList())
.forEach(n -> System.out.print(n + " "));
System.out.println();
//3.print values greater than 30 and lower than 200
numbers.stream()
.filter(integer -> integer > 30 && integer < 200)
.sorted()
.forEach(integer ->System.out.print(integer + " "));
System.out.println();
//4.print names uppercase
names.stream()
.map(String::toUpperCase)
.forEach(s -> System.out.print(s + " "));
//5.remove first and last letter, sort and print names
System.out.println();
names.stream()
.map(s ->s.substring(1, s.length()-1))
.sorted()
.forEach(s -> System.out.print(s + " "));
//6. sort backwards by implementing reverse Comparator and using lambda
expression
System.out.println();
names.stream()
.sorted(Comparator.reverseOrder())
.forEach(s -> System.out.print(s + " "));
System.out.println();
numbers.stream()
.sorted(Comparator.reverseOrder())
.forEach(i -> System.out.print(i + " "));
}
}

You might also like