OO Programming with Java


Advanced Concepts

Other examples:

  public static <X> List<X> add(X x, List<X> xs) 
  { xs.add(x); return xs; }
  
  public static void main(String[] args) {
    List<Integer> xs = Arrays.asList(-1,-2,-1,0,1);
    List<Integer> ys = reduce(xs,e,(vs,v) -> add(v+1,vs));
    System.out.println(ys);
    List<Integer> e  = new ArrayList();
    System.out.println(reduce(ys,xs,(vs,v) -> add(v,vs)));
  }

Exercise: try to identify the result of each use of reduce.


13 - 17