import java.util.List; public class Fold { public int foldl(Operator op, Integer init, List list) { if (list.isEmpty()) return init; int akk = init; int length = list.size(); for (int i = 0; i < length; i++) { akk = op.operate(akk, list.get(i)); } return akk; } public int foldr(Operator op, Integer init, List list) { if (list.isEmpty()) return init; int akk = init; int length = list.size(); for (int i = length; i >= 0; i--) { akk = op.operate(list.get(i), akk); } return akk; } }