本文整理了Java中com.fpinjava.common.List.cons()
方法的一些代码示例,展示了List.cons()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。List.cons()
方法的具体详情如下:
包路径:com.fpinjava.common.List
类名称:List
方法名:cons
暂无
代码示例来源:origin: fpinjava/fpinjava
@Override
public List<List<Color>> pathColors(List<Color> currentColorList, List<List<Color>> paths) {
return paths.cons(currentColorList);
}
}
代码示例来源:origin: fpinjava/fpinjava
@Override
public List<List<Color>> pathColors(List<Color> currentColorList, List<List<Color>> paths) {
return right.isEmpty() && left.isEmpty()
? paths.cons(currentColorList.cons(color))
: List.concat(left.pathColors(currentColorList.cons(color), paths), right.pathColors(currentColorList.cons(color), paths));
}
代码示例来源:origin: fpinjava/fpinjava
@Override
public List<List<Color>> pathColors(List<Color> currentColorList, List<List<Color>> paths) {
return right.isEmpty() && left.isEmpty()
? paths.cons(currentColorList.cons(color))
: List.concat(left.pathColors(currentColorList.cons(color), paths), right.pathColors(currentColorList.cons(color), paths));
}
代码示例来源:origin: fpinjava/fpinjava
private static Tuple<List<Integer>, RNG> intsHelper(int count, RNG rng) {
Tuple<Integer, RNG> t1 = rng.nextInt();
Tuple<List<Integer>, RNG> t2 = ints(count - 1, t1._2);
return new Tuple<>(t2._1.cons(t1._1), t2._2);
}
代码示例来源:origin: fpinjava/fpinjava
/**
* Caution: not stack safe
*/
public static <A, S> List<A> unfold_(S z, Function<S, Result<Tuple<A, S>>> f) {
return f.apply(z).map(x -> unfold_(x._2, f).cons(x._1)).getOrElse(list());
}
代码示例来源:origin: fpinjava/fpinjava
private static TailCall<Tuple<List<Integer>, RNG>> integers3_(RNG rng, int length, List<Integer> xs) {
if (length <= 0)
return TailCall.ret(new Tuple<>(xs, rng));
else {
Tuple<Integer, RNG> t1 = rng.nextInt();
return TailCall.sus(() -> integers3_(t1._2, length - 1, xs.cons(t1._1)));
}
}
代码示例来源:origin: fpinjava/fpinjava
public Tuple<List<A>, List<A>> splitAt_(int index) {
int ii = index < 0 ? 0 : index >= length() ? length() : index;
Tuple3<List<A>, List<A>, Integer> identity = new Tuple3<>(List.list(), List.list(), ii);
Tuple3<List<A>, List<A>, Integer> rt = foldLeft(identity, ta -> a -> ta._3 == 0 ? new Tuple3<>(ta._1, ta._2.cons(a), ta._3) : new Tuple3<>(ta._1.cons(a), ta._2, ta._3 - 1));
return new Tuple<>(rt._1.reverse(), rt._2.reverse());
}
代码示例来源:origin: fpinjava/fpinjava
private TailCall<List<A>> toList(Stream<A> s, List<A> acc) {
return s.isEmpty()
? ret(acc)
: sus(() -> toList(s.tail(), List.cons(s.head(), acc)));
}
代码示例来源:origin: fpinjava/fpinjava
private TailCall<List<A>> toList(Stream<A> s, List<A> acc) {
return s.isEmpty()
? ret(acc)
: sus(() -> toList(s.tail(), List.cons(s.head(), acc)));
}
代码示例来源:origin: fpinjava/fpinjava
private TailCall<List<A>> toList(Stream<A> s, List<A> acc) {
return s.isEmpty()
? ret(acc)
: sus(() -> toList(s.tail(), List.cons(s.head(), acc)));
}
代码示例来源:origin: fpinjava/fpinjava
private TailCall<List<A>> toList(Stream<A> s, List<A> acc) {
return s.isEmpty()
? ret(acc)
: sus(() -> toList(s.tail(), List.cons(s.head()._1, acc)));
}
代码示例来源:origin: fpinjava/fpinjava
private TailCall<List<A>> toList(Stream<A> s, List<A> acc) {
return s.isEmpty()
? ret(acc)
: sus(() -> toList(s.tail(), List.cons(s.head(), acc)));
}
代码示例来源:origin: fpinjava/fpinjava
public TailCall<List<A>> toList(List<A> acc, Heap<A> heap) {
return heap.isEmpty()
? TailCall.ret(acc)
: TailCall.sus(() -> toList(acc.cons(heap.headOrThrow()), heap.tailOrThrow()));
}
代码示例来源:origin: fpinjava/fpinjava
private TailCall<List<A>> toList(Stream<A> s, List<A> acc) {
return s.isEmpty()
? ret(acc)
: sus(() -> toList(s.tail(), List.cons(s.head(), acc)));
}
代码示例来源:origin: fpinjava/fpinjava
private TailCall<List<A>> toList(Stream<A> s, List<A> acc) {
return s.isEmpty()
? ret(acc)
: sus(() -> toList(s.tail(), List.cons(s.head()._1, acc)));
}
代码示例来源:origin: fpinjava/fpinjava
private TailCall<List<A>> toList(Stream<A> s, List<A> acc) {
return s.isEmpty()
? ret(acc)
: sus(() -> toList(s.tail(), List.cons(s.head(), acc)));
}
代码示例来源:origin: fpinjava/fpinjava
private TailCall<List<A>> toList(Stream<A> s, List<A> acc) {
return s.isEmpty()
? ret(acc)
: sus(() -> toList(s.tail(), List.cons(s.head(), acc)));
}
代码示例来源:origin: fpinjava/fpinjava
private Tuple3<Heap<Tuple<Integer, Integer>>, Integer, List<Integer>> streamResult(Heap<Tuple<Integer, Integer>> result, int expected, List<Integer> list) {
Tuple3<Heap<Tuple<Integer, Integer>>, Integer, List<Integer>> tuple3 = new Tuple3<>(result, expected, list);
Result<Tuple3<Heap<Tuple<Integer, Integer>>, Integer, List<Integer>>> temp = result.head().flatMap(head ->
result.tail().map(tail -> head._2 == expected
? streamResult(tail, expected + 1, list.cons(head._1))
: tuple3));
return temp.getOrElse(tuple3);
}
代码示例来源:origin: fpinjava/fpinjava
public static <E, A, B> Either<E, List<B>> traverseRecursive(List<A> as, Function<A, Either<E, B>> f) {
return as.isEmpty()
? Either.right(List.list())
: f.apply(as.head()).map2(traverseRecursive(as.tail(), f), x -> y -> y.cons(x));
}
代码示例来源:origin: fpinjava/fpinjava
private static boolean isPathOk(List<Tree.Color> colorList) {
List<Tree.Color> colorList1 = colorList.cons(Tree.B);
List<Tree.Color> colorList2 = colorList.reverse().cons(Tree.B).reverse();
Result<List<Tuple<Tree.Color, Tree.Color>>> colorPairs = colorList1.zip(colorList2);
return !colorPairs.map(list -> list.exists(t -> (t._1.isR() && t._2.isR()) || t._1.isBB() || t._2.isBB() || t._1.isNB() || t._2.isNB())).getOrElse(true);
}
内容来源于网络,如有侵权,请联系作者删除!