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

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

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

List.foldLeft介绍

暂无

代码示例

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

public static Tuple<List<Integer>, RNG> integers(RNG rng, int length) {
 Tuple<List<Tuple<Integer, RNG>>, RNG> result = List.range(0, length).foldLeft(new Tuple<>(List.list(), rng), tuple -> i -> {
  Tuple<Integer, RNG> t = integer(tuple._2);
  return new Tuple<>(tuple._1.cons(t), t._2);
 });
 List<Integer> list = result._1.map(x -> x._1);
 return new Tuple<>(list, result._2);
}

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

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

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

@Test
public void testInsertOrderedAscending7() {
 int limit = 7;
 List<Integer> list = List.range(1, limit + 1);
 Heap<Number> heap = list.foldLeft(Heap.empty(comparator), h -> i -> h.add(number(i)));
 assertEquals(limit, heap.length());
}

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

@Test
 public void testAdd() throws Exception {
  List<Integer> list = List.list(1, 2, 3, 4, 5, 6, 7);
  Heap<Integer> queue = list.foldLeft(Heap.<Integer>empty(), h -> h::add);
//    List<Tuple<Integer, Integer>> testList = list.zipWithPosition();
  list.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 testAdd() throws Exception {
 List<Integer> list = List.list(1, 2, 3, 4, 5, 6, 7);
 Heap<Integer> queue = list.foldLeft(Heap.<Integer>empty(), h -> h::add);
 list.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 testInsertOrderedAscending7() {
 int limit = 7;
 List<Integer> list = List.range(1, limit + 1);
 Tree<Integer> tree = list.foldLeft(Tree.<Integer>empty(), t -> t::insert);
 assertEquals(limit, tree.size());
 assertTrue(tree.height() <= 2 * log2nlz(tree.size() + 1));
}

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

@Test
public void testInsertOrderedDescending7() {
 int limit = 7;
 List<Integer> list = List.iterate(limit, x -> x - 1, limit);
 Tree<Integer> tree = list.foldLeft(Tree.<Integer>empty(), t -> t::insert);
 assertEquals(limit, tree.size());
 assertTrue(tree.height() <= 2 * log2nlz(tree.size() + 1));
}

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

@Test
public void testInsertOrderedAscending7() {
 int limit = 7;
 List<Integer> list = List.range(1, limit + 1);
 Tree<Integer> tree = list.foldLeft(Tree.<Integer>empty(), t -> t::insert);
 assertEquals(limit, tree.size());
 assertTrue(tree.height() <= 2 * Tree.log2nlz(tree.size() + 1));
}

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

@Test
public void testInsertOrderedDescending7() {
 int limit = 7;
 List<Integer> list = List.iterate(limit, x -> x - 1, limit);
 Tree<Integer> tree = list.foldLeft(Tree.<Integer>empty(), t -> t::insert);
 assertEquals(limit, tree.size());
 assertTrue(tree.height() <= 2 * Tree.log2nlz(tree.size() + 1));
}

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

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

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

@Test
public void testInsertOrderedDescending7() {
 int limit = 7;
 List<Integer> list = List.iterate(limit, x -> x - 1, limit);
 Tree<Integer> tree = list.foldLeft(Tree.<Integer>empty(), t -> t::insert);
 assertEquals(limit, tree.size());
 assertTrue(tree.height() <= 2 * log2nlz(tree.size() + 1));
}

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

@Test
public void testInsertOrderedAscending7() {
 int limit = 7;
 List<Integer> list = List.range(1, limit + 1);
 Heap<Integer> heap = list.foldLeft(Heap.<Integer>empty(), h -> h::insert);
 assertEquals(limit, 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);
  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 testInsertOrderedAscending7() {
 int limit = 7;
 List<Integer> list = List.range(1, limit + 1);
 Tree<Integer> tree = list.foldLeft(Tree.<Integer>empty(), t -> t::insert);
 assertEquals(limit, tree.size());
 assertTrue(tree.height() <= 2 * Tree.log2nlz(tree.size() + 1));
}

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

@Test
public void testAdd() throws Exception {
 List<Integer> list = List.list(1, 2, 3, 4, 5, 6, 7);
 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));
}

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

@Test
public void testInsertOrderedDescending7() {
 int limit = 7;
 List<Integer> list = List.iterate(limit, x -> x - 1, limit);
 Heap<Number> heap = list.foldLeft(Heap.empty(comparator), h -> i -> h.add(number(i)));
 assertEquals(limit, heap.length());
 assertTrue(isBalanced(heap));
 assertTrue(isValueOrdered(heap, comparator));
}

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

@Test
public void testInsertRandom7() {
 List<Integer> list = List.list(2, 5, 7, 3, 6, 1, 4);
 Map<Integer, String> map = list.foldLeft(Map.<Integer, String>empty(), m -> i -> m.add(i, NumbersToEnglish.convertUS.apply(i)));
 assertTrue(list.forAll(map::contains));
 assertTrue(List.sequence(list.map(i -> map.get(i).flatMap(x -> x.value).map(y -> y.equals(NumbersToEnglish.convertUS.apply(i))))).map(z -> z.forAll(w -> w)).getOrElse(false));
}

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

@Test
public void testInsertOrderedAscending7() {
 int limit = 7;
 List<Integer> list = List.range(1, limit + 1);
 Map<Number, String> map = list.foldLeft(Map.<Number, String>empty(), m -> i -> m.add(number(i), NumbersToEnglish.convertUS.apply(i)));
 assertTrue(list.forAll(i -> map.contains(number(i))));
 assertTrue(List.sequence(list.map(i -> map.get(number(i)).map(x -> x._2).map(y -> y.equals(NumbersToEnglish.convertUS.apply(i))))).map(z -> z.forAll(w -> w)).getOrElse(false));
}

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

@Test
public void testInsertRandom7() {
 List<Integer> list = List.list(2, 5, 7, 3, 6, 1, 4);
 Map<Number, String> map = list.foldLeft(Map.<Number, String>empty(), m -> i -> m.add(number(i), NumbersToEnglish.convertUS.apply(i)));
 assertTrue(list.forAll(i -> map.contains(number(i))));
 assertTrue(List.sequence(list.map(i -> map.get(number(i)).map(x -> x._2).map(y -> y.equals(NumbersToEnglish.convertUS.apply(i))))).map(z -> z.forAll(w -> w)).getOrElse(false));
}

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

@Test
public void testFold() {
 int limit = 50;
 List<Integer> list = List.range(1, limit + 1);
 List<String> expected = list.reverse().map(NumbersToEnglish.convertUS);
 Map<Integer, String> map = list.foldLeft(Map.<Integer, String>empty(), m -> i -> m.add(i, NumbersToEnglish.convertUS.apply(i)));
 Result<List<String>> rl = List.sequence(map.foldLeft(List.<Result<String>>list(), lst -> me -> lst.cons(me.value), l1 -> l2 -> List.concat(l1, l2)));
 assertTrue(rl.map(expected::equals).getOrElse(false));
}

相关文章