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

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

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

ReactiveSeq.take介绍

[英]Lazy / reactive analogue of findFirst / findAny from JDK For push based reactive-streams (created via Spouts.XXX) data will be pushed to the returned Maybe on arrival. For pull based Streams (created via ReactiveSeq.XXX) the Stream will be executed when the Maybe is first accessed.
[中]JDK中基于推送的反应流(通过Spouts.XXX创建)的findFirst/findAny的惰性/反应性模拟数据将在到达时被推送到返回的数据库。对于基于pull的流(通过ReactiveSeq.XXX创建),将在首次访问Maybe时执行流。

代码示例

代码示例来源:origin: aol/cyclops

default Seq<T> take(final long num) {
  if( num <= 0)
    return Nil.Instance;
  return fromStream(ReactiveSeq.fromIterable(this).take(num));
}
default Seq<T> drop(final long num) {

代码示例来源:origin: aol/cyclops

default LazySeq<T> take(final long n) {
  if( n <= 0)
    return LazySeq.Nil.Instance;
  return fromStream(ReactiveSeq.fromIterable(this).take(n));
}
default LazySeq<T> takeWhile(Predicate<? super T> p) {

代码示例来源:origin: aol/cyclops

@Test
public void testTake(){
  assertThat(of(1,2,3,4,5).take(2).collect(Collectors.toList()).size(),equalTo(2));
}
@Test

代码示例来源:origin: aol/cyclops

@Test
public void testTake(){
  assertThat(of(1,2,3,4,5).take(2).collect(Collectors.toList()).size(),equalTo(2));
}
@Test

代码示例来源:origin: aol/cyclops

@Test
public void takeReplay() {
  final ReactiveSeq<Integer> t = of(1).map(i -> i).flatMap(i -> Stream.of(i));
  assertThat(t.take(1).toList(), equalTo(Arrays.asList(1)));
  assertThat(t.take(1).toList(), equalTo(Arrays.asList(1)));
}

代码示例来源:origin: aol/cyclops

@Test
public void fillReplay(){
  ReactiveSeq<Integer> seq = ReactiveSeq.fill(1);
  ReactiveSeq<Integer> seq1 = seq.take(100).map(i->i*2);
  seq.take(100).forEach(System.out::println);
  seq1.forEach(System.err::println);
}

代码示例来源:origin: aol/cyclops

@Test
public void generateReplay(){
  ReactiveSeq<String> s =  ReactiveSeq.generate(()->"hello").take(1);
  assertThat(s.toList().size(),equalTo(1));
  assertThat(s.toList().size(),equalTo(1));
}

代码示例来源:origin: aol/cyclops

@Test
public void dynamic(){
  for(int i=0;i<20;i++) {
    Five<Integer> two = create(i, i,i,i,i);
    Five<Integer> mapped = two.map(n -> n * 100);
    System.out.println(Arrays.deepToString(two.array));
    System.out.println(Arrays.deepToString(mapped.array));
    assertThat(ReactiveSeq.fromIterator(mapped.iterator()).toList(),
      equalTo(ReactiveSeq.iterate(0,n->n+100).take(i*i*i*i*i).toList()));
  }
}

代码示例来源:origin: aol/cyclops

@Test
public void duplicateReplay() {
  final Tuple2<ReactiveSeq<Integer>, ReactiveSeq<Integer>> t = of(1).duplicate();
  assertThat(t._1().take(1).toList(), equalTo(Arrays.asList(1)));
  assertThat(t._1().take(1).toList(), equalTo(Arrays.asList(1)));
}

代码示例来源:origin: aol/cyclops

@Test
public void dynamic(){
  for(int i=0;i<20;i++) {
    Four<Integer> two = create(i, i,i,i);
    Four<Integer> mapped = two.map(n -> n * 100);
    System.out.println(Arrays.deepToString(two.array));
    System.out.println(Arrays.deepToString(mapped.array));
    assertThat(ReactiveSeq.fromIterator(mapped.iterator()).toList(),
      equalTo(ReactiveSeq.iterate(0,n->n+100).take(i*i*i*i).toList()));
  }
}

代码示例来源:origin: aol/cyclops

@Test
public void dynamic(){
  for(int i=0;i<10;i++) {
    Six<Integer> two = create(i, i,i,i,i,i);
    Six<Integer> mapped = two.map(n -> n * 100);
   //  System.out.println(Arrays.deepToString(two.array));
    System.out.println(Arrays.deepToString(mapped.array));
    assertThat(mapped.stream().toList(),
      equalTo(ReactiveSeq.iterate(0,n->n+100).take(i*i*i*i*i*i).toList()));
  }
}

代码示例来源:origin: aol/cyclops

@Test
public void limitTime(){
  List<Integer> result = Spouts.of(1,2,3,4,5,6)
                  .peek(i->sleep(i*100))
                  .take(1000,TimeUnit.MILLISECONDS)
                  .toList();
  assertThat(result,equalTo(Arrays.asList(1,2,3)));
}
@Test

代码示例来源:origin: aol/cyclops

@Test
public void limitTimeEmpty(){
  List<Integer> result = ReactiveSeq.<Integer>of()
                  .peek(i->sleep(i*100))
                  .take(1000,TimeUnit.MILLISECONDS)
                  .toList();
  assertThat(result,equalTo(Arrays.asList()));
}

代码示例来源:origin: aol/cyclops

@Test
public void limitTimeEmpty(){
  List<Integer> result = Spouts.<Integer>of()
                  .peek(i->sleep(i*100))
                  .take(1000,TimeUnit.MILLISECONDS)
                  .toList();
  assertThat(result,equalTo(Arrays.asList()));
}
@Test

代码示例来源:origin: aol/cyclops

@Test
public void limitTimeEmpty(){
  List<Integer> result = Spouts.<Integer>of()
                  .peek(i->sleep(i*100))
                  .take(1000,TimeUnit.MILLISECONDS)
                  .toList();
  assertThat(result,equalTo(Arrays.asList()));
}
@Test

代码示例来源:origin: aol/cyclops

@Test
public void limitTimeEmpty(){
  List<Integer> result = ReactiveSeq.<Integer>of()
                  .peek(i->sleep(i*100))
                  .take(1000,TimeUnit.MILLISECONDS)
                  .toList();
  assertThat(result,equalTo(Arrays.asList()));
}
@Test

代码示例来源:origin: aol/cyclops

@Test
public void limitTimeEmpty(){
  List<Integer> result = ReactiveSeq.<Integer>of()
                  .peek(i->sleep(i*100))
                  .take(1000,TimeUnit.MILLISECONDS)
                  .toList();
  assertThat(result,equalTo(Arrays.asList()));
}
@Test

代码示例来源: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 sequenceWithFunction(){
  assertThat(ReactiveSeq.fromIterable(suspend((Integer i)->i!=4,s-> {
        System.out.println("Top level - repeat 2 times after sequence!");
        return s.yield(1,
            () -> s.yield(2),
            () -> s.yield(3),
            () -> s.yield(4));
      }
  )).take(12).toList(),equalTo(Arrays.asList(1,2,3,4)));
}
@Test

代码示例来源:origin: aol/cyclops

@Test
public void sequenceWithFunctionWithCurrent(){
  assertThat(ReactiveSeq.fromIterable(suspend((Integer i)->i!=4,s-> {
        System.out.println("Top level - repeat 2 times after sequence!");
        return s.yield(1,
            () -> s.yield(s.current()+2),
            () -> s.yield(3),
            () -> s.yield(4));
      }
  )).take(12).toList(),equalTo(Arrays.asList(1,3,3,4)));
}
@Test

相关文章

微信公众号

最新文章

更多

ReactiveSeq类方法