cyclops.reactive.ReactiveSeq.duplicate()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(7.9k)|赞(0)|评价(0)|浏览(95)

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

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

相关文章

微信公众号

最新文章

更多

ReactiveSeq类方法