本文整理了Java中com.fpinjava.common.List.list()
方法的一些代码示例,展示了List.list()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。List.list()
方法的具体详情如下:
包路径:com.fpinjava.common.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));
}
内容来源于网络,如有侵权,请联系作者删除!