/**
* 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;
}
}