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

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

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

List.list介绍

暂无

代码示例

代码示例来源:origin: fpinjava/fpinjava

@SafeVarargs
public static <A> List<A> list(A... a) {
 List<A> n = list();
 for (int i = a.length - 1; i >= 0; i--) {
  n = new Cons<>(a[i], n);
 }
 return n;
}

代码示例来源:origin: fpinjava/fpinjava

@Override
 public List<Integer> eval() {
  return l.eval().flatMap(x -> r.eval().flatMap(y -> valid(op, x, y) ? List.list(apply(op, x, y)) : List.list()));
 }
}

代码示例来源:origin: fpinjava/fpinjava

public static Tuple<List<Integer>, RNG> ints(int count, RNG rng) {
 return count == 0
   ? new Tuple<>(List.list(), rng)
   : intsHelper(count, rng);
}

代码示例来源: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

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

@Test
public void testVariance() {
 List<Double> list = List.list(1.0, 2.0, 3.0, 4.0, 5.0);
 assertEquals("Some(2.0)", Variance.variance.apply(list).toString());
}

代码示例来源:origin: fpinjava/fpinjava

private static List<Expr> exprs(List<Integer> list) {
 return list.isEmpty()
   ? List.list()
   : list.length() == 1
     ? List.list(new Expr.Simple(list.headOption().getOrElse(-1))) // default value will never be used
     : split(list).flatMap(t -> exprs(t._1).flatMap(l -> exprs(t._2).flatMap(r -> combine(l, r))));
}

代码示例来源:origin: fpinjava/fpinjava

@Test
public void testTakeWhile() {
 evaluated = List.list();
 assertEquals("[NIL]", evaluated.toString());
 Stream<Integer> result = stream.takeWhile(x -> x < 3);
 assertEquals("[1, NIL]", evaluated.toString());
 assertEquals("[1, 2, NIL]", result.toList().toString());
}

代码示例来源:origin: fpinjava/fpinjava

@Test
public void testFilter2() {
 evaluated = List.list();
 assertEquals("[NIL]", evaluated.toString());
 Stream<Integer> result = getStream(1, 6).filter_(x -> x % 2 == 0);
 assertEquals("[2, 1, NIL]", evaluated.toString());
 assertEquals("[2, 4, NIL]", result.toList().toString());
}

代码示例来源: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

@Test
public void testFilter3() {
 evaluated = List.list();
 assertEquals("[NIL]", evaluated.toString());
 Stream<Integer> result = getStream(1, 6).filter(x -> x % 2 != 0);
 assertEquals("[1, NIL]", evaluated.toString());
 assertEquals(Integer.valueOf(1), result.head()._1);
 assertEquals(Integer.valueOf(3), result.tail().head()._1);
 assertEquals("[3, 2, 1, NIL]", evaluated.toString());
 assertEquals("[1, 3, 5, NIL]", result.toList().toString());
}

代码示例来源:origin: fpinjava/fpinjava

@Test
public void testFilter() {
 evaluated = List.list();
 assertEquals("[NIL]", evaluated.toString());
 Stream<Integer> result = getStream(1, 5).filter(x -> x % 2 == 0);
 assertEquals("[2, 1, NIL]", evaluated.toString());
 assertEquals(Integer.valueOf(2), result.head()._1);
 assertEquals(Integer.valueOf(4), result.tail().head()._1);
 assertEquals("[4, 3, 2, 1, NIL]", evaluated.toString());
 assertEquals("[2, 4, NIL]", result.toList().toString());
}

代码示例来源:origin: fpinjava/fpinjava

@Test
public void testSequence() {
 Function<String, Option<Integer>> parse16 = Option.hlift(parseWithRadix.apply(16));
 List<String> list = List.list("0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
 assertEquals("Some([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, NIL])", Option.sequence(list.map(parse16)).toString());
}

代码示例来源:origin: fpinjava/fpinjava

@Test
public void testSequenceError() {
 Function<String, Option<Integer>> parse8 = Option.hlift(parseWithRadix.apply(8));
 List<String> list = List.list("0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
 assertEquals("None", Option.sequence(list.map(parse8)).toString());
}

代码示例来源:origin: fpinjava/fpinjava

@Test
 public void testAdd2() throws Exception {
  List<Integer> list = List.list(7, 3, 1, 6, 4, 6, 2);
  Heap<Integer> queue = list.foldLeft(Heap.<Integer>empty(), h -> h::add);
  List.list(1, 2, 3, 4, 6, 6, 7).zipWithPositionResult().forEachOrThrow(testList -> List.sequence(testList.map(t -> queue.get(t._2).map(v -> v.equals(t._1)))).map(lst -> lst.forAll(x -> x)).forEachOrThrow(Assert::assertTrue));
 }
}

代码示例来源:origin: fpinjava/fpinjava

@Test
public void testMap() {
 evaluated = List.list();
 assertEquals("[NIL]", evaluated.toString());
 Stream<Integer> result = stream.flatMap(x -> Stream.from(x).take(x));
 assertEquals(Integer.valueOf(1), result.head());
 assertEquals(Integer.valueOf(2), result.tail().head());
 assertEquals(Integer.valueOf(3), result.tail().tail().head());
 assertEquals("[2, 1, NIL]", evaluated.toString());
 assertEquals("[1, 2, 3, 3, 4, 5, 4, 5, 6, 7, 5, 6, 7, 8, 9, NIL]", result.toList().toString());
}

代码示例来源:origin: fpinjava/fpinjava

@Test
 public void testAdd2() throws Exception {
  List<Integer> list = List.list(7, 3, 1, 6, 4, 6, 2);
  Heap<Integer> queue = list.foldLeft(Heap.<Integer>empty(), h -> h::add);
  queue.head().map(a -> a == 1).forEachOrThrow(Assert::assertTrue);
 }
}

代码示例来源:origin: fpinjava/fpinjava

/**
 * The longest path (to an empty node) should be no more than twice the shortest one (to an empty node too).
 * Note that compared to a "user path", which means not taking empty terminal node in account, it means that
 * maxPath + 1 <= (minPath + 1) * 2
 */
@Test
public void testPathLengthOrdered() {
 List<Integer> lengths = orderedTree.pathLengths();
 Result<List<Boolean>> rlb = List.minOption(lengths).map(min -> lengths.map(v -> v + 1 <= (min + 1) * 2));
 List<Boolean> lb = rlb.getOrElse(List.list());
 assertTrue(lb.forAll(x -> x));
}

代码示例来源:origin: fpinjava/fpinjava

@Test
public void testInsertRandom10() {
 List<Integer> list = List.list(2, 5, 2, 7, 3, 1, 6, 1, 4, 1);
 Heap<Integer> heap = list.foldLeft(Heap.<Integer>empty(), h -> h::insert);
 assertEquals(list.length(), heap.length());
 assertTrue(isBalanced(heap));
 assertTrue(isValueOrdered(heap));
}

代码示例来源:origin: fpinjava/fpinjava

@Test
public void testAdd2() throws Exception {
 List<Integer> list = List.list(7, 3, 1, 6, 4, 6, 2);
 Heap<Integer> queue = list.foldLeft(Heap.<Integer>empty(), h -> h::add);
 queue.head().map(a -> a == 1).forEachOrThrow(Assert::assertTrue);
 assertTrue(isBalanced(queue));
 assertTrue(isValueOrdered(queue));
}

相关文章