java 8 function supplier consumer

Java
@Testpublic void whenNamesPresentUseBothConsumer(){    
  List<String> cities = Arrays.asList("Sydney", "Dhaka", "New York", "London");   
  Consumer<List<String>> upperCaseConsumer = list -> {        
    for(int i=0; i< list.size(); i++){            
      list.set(i, list.get(i).toUpperCase());        
    }    
  };    
  Consumer<List<String>> printConsumer = list -> list.stream().forEach(System.out::println);    
  upperCaseConsumer.andThen(printConsumer).accept(cities);}@Testpublic void supplierWithOptional(){    
  Supplier<Double> doubleSupplier = () -> Math.random();   
  Optional<Double> optionalDouble = Optional.empty();    
  System.out.println(optionalDouble.orElseGet(doubleSupplier));}@Testpublic void whenNamesPresentUseBothConsumer(){    
  List<String> cities = Arrays.asList("Sydney", "Dhaka", "New York", "London");    
  Consumer<List<String>> upperCaseConsumer = list -> {
    for(int i=0; i< list.size(); i++){            
      list.set(i, list.get(i).toUpperCase());        
    }    
  };    
  Consumer<List<String>> printConsumer = list -> list.stream().forEach(System.out::println);    
  upperCaseConsumer.andThen(printConsumer).accept(cities);}@Testpublic void whenNamesPresentUseBothConsumer(){    
  List<String> cities = Arrays.asList("Sydney", "Dhaka", "New York", "London");   
  Consumer<List<String>> upperCaseConsumer = 
    list -> {        
    for(int i=0; i< list.size(); i++){           
      list.set(i, list.get(i).toUpperCase());        
    }    
  };    
  Consumer<List<String>> printConsumer = 
    list -> list.stream().forEach(System.out::println); 
  
  upperCaseConsumer.andThen(printConsumer).accept(cities);}@Testpublic void supplierWithOptional(){    Supplier<Double> doubleSupplier = () -> Math.random();    Optional<Double> optionalDouble = Optional.empty();    System.out.println(optionalDouble.orElseGet(doubleSupplier));}
Source

Also in Java: