1 2 3 4 5 6 7 8 9 10 11 12 13
package org.zwobble.couscous.util; import java.util.function.BiFunction; public class Fold { public static <T, V> V foldLeft(Iterable<T> iterable, V initialValue, BiFunction<V, T, V> function) { V value = initialValue; for (T element : iterable) { value = function.apply(value, element); } return value; } }