com.fpinjava.common.List.cons()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(5.8k)|赞(0)|评价(0)|浏览(152)

本文整理了Java中com.fpinjava.common.List.cons()方法的一些代码示例,展示了List.cons()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。List.cons()方法的具体详情如下:
包路径:com.fpinjava.common.List
类名称:List
方法名:cons

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);
}

相关文章