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