/** * Applies an ILambda to each element of an array. Returns the resulting array. * Exercise for students: Make this a concrete subclass of ILambda taking as input * an (array, ILambda) pair. * @author Dung X. Nguyen */ public class ArrayMapCar { public final static ArrayMapCar Singleton = new ArrayMapCar(); private ArrayMapCar(){ } public Object[] apply(Object array[], ILambda cmd) { Object[] result = new Object[array.length]; for(int i = 0; i < array.length; i++) { result[i] = cmd.apply (array[i]); } return result; } }