fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5. interface Function<I, R> {
  6. R invoke(I input);
  7. }
  8.  
  9. class Sqrt implements Function<Double, Double> {
  10. public static Sqrt instance = new Sqrt();
  11.  
  12. private Sqrt() { }
  13.  
  14. public Double invoke(Double input) {
  15. return Math.sqrt(input);
  16. }
  17. }
  18.  
  19. class Ideone {
  20. public static List<Double> map(Function<Double, Double> function, List<Double> values) {
  21. List<Double> result = new ArrayList<Double>();
  22. for (Double value : values)
  23. result.add(function.invoke(value));
  24. return result;
  25. }
  26.  
  27. public static void main(String[] args) {
  28. List<Double> numbers = new ArrayList<Double>();
  29. numbers.add(3.0);
  30. numbers.add(4.0);
  31. numbers.add(5.0);
  32. List<Double> roots = map(Sqrt.instance, numbers);
  33. for (Double root : roots)
  34. System.out.println(root);
  35. }
  36. }
Success #stdin #stdout 0.08s 380160KB
stdin
Standard input is empty
stdout
1.7320508075688772
2.0
2.23606797749979