Code To Implement
MapHof
map
class: |
MapHof.java |
![Java.png](/cse425s/images/thumb/2/26/Java.png/32px-Java.png) |
methods: |
map |
package: |
hof.map.assignment |
source folder: |
src/main/java |
public static <T, R> ImmutableList<R> map(Function<T, R> f, ImmutableList<T> list)
MapHofApps
class: |
MapHofApps.java |
![Java.png](/cse425s/images/thumb/2/26/Java.png/32px-Java.png) |
methods: |
mapToLengths mapToStrictlyLessThan |
package: |
hof.map.assignment |
source folder: |
src/main/java |
public static ImmutableList<Integer> mapToLengths(ImmutableList<String> texts)
public static ImmutableList<Boolean> mapToStrictlyLessThan(ImmutableList<Integer> xs, int threshold)
FilterHof
filter
class: |
FilterHof.java |
![Java.png](/cse425s/images/thumb/2/26/Java.png/32px-Java.png) |
methods: |
filter |
package: |
hof.filter.assignment |
source folder: |
src/main/java |
public static <E> ImmutableList<E> filter(Predicate<E> predicate, ImmutableList<E> list)
apps
class: |
FilterHofApps.java |
![Java.png](/cse425s/images/thumb/2/26/Java.png/32px-Java.png) |
methods: |
filterWordsWhichContainAllVowels filterEvens |
package: |
hof.map.assignment |
source folder: |
src/main/java |
public static ImmutableList<String> filterWordsWhichContainAllVowels(ImmutableList<String> words)
public static ImmutableList<Integer> filterEvens(ImmutableList<Integer> xs)
FoldHof
class: |
FoldHof.java |
![Java.png](/cse425s/images/thumb/2/26/Java.png/32px-Java.png) |
methods: |
foldLeft foldRight |
package: |
hof.fold.assignment |
source folder: |
src/main/java |
SML List Reference
foldLeft
public static <A, B> A foldLeft(BiFunction<A, B, A> f, A acc, ImmutableList<B> list)
foldLeft(f, initial_value, [x1, x2, ..., xn])
- returns
f(xn,...,f(x2, f(x1, initial_value))...)
or initial_value
if the list is empty.
foldRight
public static <A, B> A foldRight(BiFunction<A, B, A> f, A acc, ImmutableList<B> list)
foldRight(f, initial_value, [x1, x2, ..., xn])
- returns
f(x1, f(x2, ..., f(xn, init)...))
or initial_value
if the list is empty.
Fold Apps
class: |
FoldHofApps.java |
![Java.png](/cse425s/images/thumb/2/26/Java.png/32px-Java.png) |
methods: |
sum countBetweenMinAndMaxExclusive |
package: |
hof.map.assignment |
source folder: |
src/main/java |
sum
public static int sum(ImmutableList<Integer> xs)
countBetweenMinAndMaxExclusive
public static int countBetweenMinAndMaxExclusive(int min, int maxExclusive, ImmutableList<Integer> xs)
Find
Find Apps
Test
class: |
HigherOrderFunctionTestSuite.java |
![Junit.png](/cse425s/images/thumb/6/64/Junit.png/48px-Junit.png) |
package: |
hof.assignment |
source folder: |
src/test/java |
Map
class: |
MapTestSuite.java |
![Junit.png](/cse425s/images/thumb/6/64/Junit.png/48px-Junit.png) |
package: |
hof.map.assignment |
source folder: |
src/test/java |
Filter
class: |
FilterTestSuite.java |
![Junit.png](/cse425s/images/thumb/6/64/Junit.png/48px-Junit.png) |
package: |
hof.filter.assignment |
source folder: |
src/test/java |
Fold
class: |
FoldTestSuite.java |
![Junit.png](/cse425s/images/thumb/6/64/Junit.png/48px-Junit.png) |
package: |
hof.fold.assignment |
source folder: |
src/test/java |
Filter
class: |
FindTestSuite.java |
![Junit.png](/cse425s/images/thumb/6/64/Junit.png/48px-Junit.png) |
package: |
hof.find.assignment |
source folder: |
src/test/java |
Test
class: |
FoldTestSuite.java |
![Junit.png](/cse425s/images/thumb/6/64/Junit.png/48px-Junit.png) |
package: |
hof.fold.assignment |
source folder: |
src/test/java |