本文整理了Java中cyclops.reactive.ReactiveSeq.duplicate
方法的一些代码示例,展示了ReactiveSeq.duplicate
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ReactiveSeq.duplicate
方法的具体详情如下:
包路径:cyclops.reactive.ReactiveSeq
类名称:ReactiveSeq
方法名:duplicate
[英]Duplicate a Stream, buffers intermediate values, leaders may change positions so a limit can be safely applied to the leading stream. Not thread-safe.
Tuple2, ReactiveSeq> copies = of(1, 2, 3, 4, 5, 6)
[中]复制一个流,缓冲中间值,前导可以改变位置,这样可以安全地对前导流应用限制。不是线程安全的
Tuple2, ReactiveSeq> copies = of(1, 2, 3, 4, 5, 6)
代码示例来源:origin: aol/cyclops
default <R1,R2,R3> ReactiveSeq<R3> parallelFanOutZipIn(ForkJoinPool fj, Function<? super Stream<T>, ? extends Stream<? extends R1>> path1,
Function<? super Stream<T>, ? extends Stream<? extends R2>> path2,
BiFunction<? super R1, ? super R2, ? extends R3> zipFn){
Tuple2<ReactiveSeq<T>, ReactiveSeq<T>> d = duplicate(()->new ArrayDeque<T>(100));
Tuple2<? extends Stream<? extends R1>, ? extends Stream<? extends R2>> d2 = d.map1(path1).map2(path2);
ReactiveSeq<R1> res1 = d._1().parallel(fj, path1);
ReactiveSeq<R2> res2 = d._2().parallel(fj, path2);
return res1.zip(res2,zipFn);
}
default <R> ReactiveSeq<R> fanOut(Function<? super ReactiveSeq<T>, ? extends ReactiveSeq<? extends R>> path1,
代码示例来源:origin: aol/cyclops
@Test
public void duplicateDuplicate(){
for(int k=0;k<ITERATIONS;k++) {
assertThat(of(1, 2, 3).duplicate()
._1().duplicate()._1().duplicate()._1().toList(), equalTo(Arrays.asList(1, 2, 3)));
}
}
@Test
代码示例来源:origin: aol/cyclops
@Test
public void dropDuplicateSkip() {
assertThat(of(1, 2, 3).duplicate()._1().drop(1).duplicate()._1().drop(1).toList(), equalTo(Arrays.asList(3)));
assertThat(of(1, 2, 3).duplicate()._2().drop(1).duplicate()._2().drop(1).toList(), equalTo(Arrays.asList(3)));
}
代码示例来源:origin: aol/cyclops
@Test
public void skipDuplicateSkip() {
assertThat(of(1, 2, 3).duplicate()._1().skip(1).duplicate()._1().skip(1).toList(), equalTo(Arrays.asList(3)));
assertThat(of(1, 2, 3).duplicate()._2().skip(1).duplicate()._2().skip(1).toList(), equalTo(Arrays.asList(3)));
}
代码示例来源:origin: aol/cyclops
@Test
public void duplicateReplay(){
final Tuple2<ReactiveSeq<Integer>, ReactiveSeq<Integer>> t = of(1).duplicate();
assertThat(t._1().limit(1).toList(),equalTo(Arrays.asList(1)));
// assertThat(t.v1.limit(1).toList(),equalTo(ListX.of(1)));
}
@Test
代码示例来源:origin: aol/cyclops
@Test
public void duplicateReplay(){
final Tuple2<ReactiveSeq<Integer>, ReactiveSeq<Integer>> t = of(1).duplicate();
assertThat(t._1().limit(1).toList(),equalTo(Arrays.asList(1)));
// assertThat(t.v1.limit(1).toList(),equalTo(ListX.of(1)));
}
@Test
代码示例来源:origin: aol/cyclops
@Test
public void multicast(){
final Tuple2<ReactiveSeq<Integer>, ReactiveSeq<Integer>> t = of(1,2,3,4,5,6,7,8).duplicate();
// t._1.forEach(e->System.out.println("First " + e));
// t._2.printOut();
assertThat(t._1().limit(1).toList(),equalTo(Arrays.asList(1)));
System.out.println("Second!");
assertThat(t._2().limit(1).toList(),equalTo(Arrays.asList(1)));
}
代码示例来源:origin: aol/cyclops
@Test
public void multicast(){
final Tuple2<ReactiveSeq<Integer>, ReactiveSeq<Integer>> t = of(1,2,3,4,5,6,7,8).duplicate();
// t.v1.forEach(e->System.out.println("First " + e));
// t.v2.printOut();
assertThat(t._1().limit(1).toList(),equalTo(Arrays.asList(1)));
System.out.println("Second!");
assertThat(t._2().limit(1).toList(),equalTo(Arrays.asList(1)));
}
@Test
代码示例来源:origin: aol/cyclops
@Test
public void multicastCycle(){
final Tuple2<ReactiveSeq<Integer>, ReactiveSeq<Integer>> t = of(1,2,3,4,5,6,7,8).duplicate();
// t.v1.forEach(e->System.out.println("First " + e));
// t.v2.printOut();
assertThat(t._1().limit(1).toList(),equalTo(Arrays.asList(1)));
System.out.println("Second!");
assertThat(t._2().cycle().limit(1).toList(),equalTo(Arrays.asList(1)));
}
}
代码示例来源:origin: aol/cyclops
}@Test
public void limitSkip2(){
ReactiveSeq<Integer> stream = of(1);
Tuple2<ReactiveSeq<Integer>, ReactiveSeq<Integer>> dup = stream.duplicate();
assertThat(dup._1().limit(1).toList(),equalTo(Arrays.asList(1)));
assertThat(dup._2().skip(1).toList(),equalTo(Arrays.asList()));
}
代码示例来源:origin: aol/cyclops
@Test
public void splitAtHeadImpl2() {
final Tuple2<ReactiveSeq<Integer>, ReactiveSeq<Integer>> t = of(1).duplicate();
assertThat(t._1().take(1).toList(), equalTo(Arrays.asList(1)));
assertThat(t._2().drop(1).toList(), equalTo(Arrays.asList()));
}
代码示例来源:origin: aol/cyclops
@Test
public void duplicateTest(){
Tuple2<ReactiveSeq<Integer>, ReactiveSeq<Integer>> tp = Spouts.of(1, 2, 3, 4).duplicate();
// tp._1.printOut();
// tp._2.printOut();
System.out.println("Merge!");
// tp._1.mergeP(tp._2).printOut();
Spouts.of("a","b","c").mergeP(ReactiveSeq.of("bb","cc")).printOut();
}
@Test
代码示例来源:origin: aol/cyclops
@Test
public void limitSkip(){
ReactiveSeq<Integer> stream = of(1);
Tuple2<ReactiveSeq<Integer>, ReactiveSeq<Integer>> dup = stream.duplicate();
assertThat(Streamable.fromStream(dup._1().limit(1)).toList(),equalTo(Arrays.asList(1)));
assertThat(Streamable.fromStream(dup._2().skip(1)).toList(),equalTo(Arrays.asList()));
}@Test
public void limitSkip2(){
代码示例来源:origin: aol/cyclops
@Test
public void testDuplicateFilter(){
Tuple2<ReactiveSeq<Integer>, ReactiveSeq<Integer>> copies =of(1,2,3,4,5,6).duplicate();
assertTrue(copies._1().filter(i->i%2==0).toList().size()==3);
assertTrue(copies._2().filter(i->i%2==0).toList().size()==3);
}
@Test
代码示例来源:origin: aol/cyclops
@Test
public void testDuplicateFilter(){
Tuple2<ReactiveSeq<Integer>, ReactiveSeq<Integer>> copies =of(1,2,3,4,5,6).duplicate();
assertTrue(copies._1().filter(i->i%2==0).toList().size()==3);
assertTrue(copies._2().filter(i->i%2==0).toList().size()==3);
}
@Test
代码示例来源:origin: aol/cyclops
@Test
public void testDuplicateLimit(){
Tuple2<ReactiveSeq<Integer>, ReactiveSeq<Integer>> copies =of(1,2,3,4,5,6).duplicate();
assertTrue(copies._1().limit(3).toList().size()==3);
assertTrue(copies._2().limit(3).toList().size()==3);
}
@Test
代码示例来源:origin: aol/cyclops
@Test
public void splitAtHeadImpl(){
final Tuple2<ReactiveSeq<Integer>, ReactiveSeq<Integer>> t = of(1).duplicate();
Tuple2<ReactiveSeq<Integer>, ReactiveSeq<Integer>> dup = Tuple.tuple(
t._1().limit(1), t._2().skip(1));
assertThat(t._1().limit(1).toList(),equalTo(Arrays.asList(1)));
assertThat(t._2().skip(1).toList(),equalTo(Arrays.asList()));
}
@Test
代码示例来源:origin: aol/cyclops
@Test
public void splitAtHeadImpl2(){
final Tuple2<ReactiveSeq<Integer>, ReactiveSeq<Integer>> t = of(1).duplicate();
Tuple2<ReactiveSeq<Integer>, ReactiveSeq<Integer>> dup = Tuple.tuple(
t._1().limit(1), t._2().skip(1));
assertThat(t._1().limit(1).toList(),equalTo(Arrays.asList(1)));
assertThat(t._2().skip(1).toList(),equalTo(Arrays.asList()));
}
@Test
代码示例来源:origin: aol/cyclops
@Test
public void testDuplicateLimit(){
Tuple2<ReactiveSeq<Integer>, ReactiveSeq<Integer>> copies =of(1,2,3,4,5,6).duplicate();
System.out.println(copies._1().limit(3).toList());
System.out.println(copies._2().limit(3).toList());
assertTrue(copies._1().limit(3).toList().size()==3);
assertTrue(copies._2().limit(3).toList().size()==3);
}
@Test
代码示例来源:origin: aol/cyclops
@Test
public void splitThenSplit(){
Tuple2<ReactiveSeq<Integer>, ReactiveSeq<Integer>> dup = Spouts.of(1, 2, 3).duplicate();
dup._1().printOut();
System.out.println("V2..");
dup._2().printOut();
assertEquals(Option.of(2), Spouts.of(1, 2, 3).splitAtHead()._2().splitAtHead()._1());
assertEquals(Option.of(2l), Spouts.rangeLong(1, 3).splitAtHead()._2().splitAtHead()._1());
assertEquals(Option.of(2), Spouts.range(1, 3).splitAtHead()._2().splitAtHead()._1());
assertEquals(Option.of(2), Spouts.fromIterable(Arrays.asList(1, 2, 3)).splitAtHead()._2().splitAtHead()._1());
}
内容来源于网络,如有侵权,请联系作者删除!