java.util.stream.IntStream.onClose()方法的使用及代码示例

x33g5p2x  于2022-01-20 转载在 其他  
字(6.1k)|赞(0)|评价(0)|浏览(227)

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

IntStream.onClose介绍

暂无

代码示例

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

@Override
public IntStream onClose(Runnable closeHandler) {
  return toStream().onClose(closeHandler);
}

代码示例来源:origin: google/guava

private void testMapWithIndex_intStream_closeIsPropagated(IntStream source) {
 AtomicInteger intStreamCloseCount = new AtomicInteger();
 IntStream intStream = source.onClose(intStreamCloseCount::incrementAndGet);
 Stream<String> withIndex = Streams.mapWithIndex(intStream, (str, i) -> str + ":" + i);
 withIndex.close();
 Truth.assertThat(intStreamCloseCount.get()).isEqualTo(1);
}

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

@Override
public IntStream onClose(Runnable closeHandler) {
  return wrap(stream().onClose(closeHandler));
}

代码示例来源:origin: net.dongliu/commons-lang

@Override
  public ExIntStream onClose(Runnable closeHandler) {
    return ExIntStream.of(stream.onClose(closeHandler));
  }
}

代码示例来源:origin: se.ugli.ugli-commons/ugli-commons

@Override
public IntStream onClose(final Runnable closeHandler) {
  return new IntResourceStream(stream.onClose(closeHandler), closeOnTerminalOperation, resources);
}

代码示例来源:origin: com.speedment.runtime/runtime-core

@Override
public IntStream onClose(Runnable closeHandler) {
  return wrap(stream().onClose(closeHandler));
}

代码示例来源:origin: com.google.guava/guava-tests

private void testMapWithIndex_intStream_closeIsPropagated(IntStream source) {
 AtomicInteger intStreamCloseCount = new AtomicInteger();
 IntStream intStream = source.onClose(intStreamCloseCount::incrementAndGet);
 Stream<String> withIndex = Streams.mapWithIndex(intStream, (str, i) -> str + ":" + i);
 withIndex.close();
 Truth.assertThat(intStreamCloseCount.get()).isEqualTo(1);
}

代码示例来源:origin: akarnokd/RxJava2Jdk8Interop

@Test
public void closedAtTheEnd() {
  AtomicInteger closed = new AtomicInteger();
  FlowableInterop.fromStream(IntStream.range(1, 6)
      .onClose(() -> closed.getAndIncrement())
      .boxed())
  .test()
  .assertResult(1, 2, 3, 4, 5);
  assertEquals(1, closed.get());
}

代码示例来源:origin: akarnokd/RxJava2Jdk8Interop

@Test
public void empty() {
  AtomicInteger closed = new AtomicInteger();
  FlowableInterop.fromStream(IntStream.range(1, 1)
      .onClose(() -> closed.getAndIncrement())
      .boxed())
  .test()
  .assertResult();
  assertEquals(1, closed.get());
}

代码示例来源:origin: akarnokd/RxJava2Jdk8Interop

@Test
public void closedAtTheEnd() {
  AtomicInteger closed = new AtomicInteger();
  ObservableInterop.fromStream(IntStream.range(1, 6)
      .onClose(() -> closed.getAndIncrement())
      .boxed())
  .test()
  .assertResult(1, 2, 3, 4, 5);
  assertEquals(1, closed.get());
}

代码示例来源:origin: akarnokd/RxJava2Jdk8Interop

@Test
public void closedInTheMiddle() {
  AtomicInteger closed = new AtomicInteger();
  ObservableInterop.fromStream(IntStream.range(1, 6)
      .onClose(() -> closed.getAndIncrement())
      .boxed())
  .take(3)
  .test()
  .assertResult(1, 2, 3);
  assertEquals(1, closed.get());
}

代码示例来源:origin: akarnokd/RxJava2Jdk8Interop

@Test
public void closedInTheMiddle() {
  AtomicInteger closed = new AtomicInteger();
  FlowableInterop.fromStream(IntStream.range(1, 6)
      .onClose(() -> closed.getAndIncrement())
      .boxed())
  .take(3)
  .test()
  .assertResult(1, 2, 3);
  assertEquals(1, closed.get());
}

代码示例来源:origin: neo4j-contrib/neo4j-graph-algorithms

private IntStream idStream(@Name(value = "start", defaultValue = "null") Object start, Graph graph, int limit) {
  int nodeCount = Math.toIntExact(graph.nodeCount());
  if (start instanceof String) {
    String label = start.toString();
    int labelId = transaction.tokenRead().nodeLabel(label);
    int countWithLabel = Math.toIntExact(transaction.dataRead().countsForNodeWithoutTxState(labelId));
    NodeLabelIndexCursor cursor = transaction.cursors().allocateNodeLabelIndexCursor();
    transaction.dataRead().nodeLabelScan(labelId, cursor);
    cursor.next();
    LongStream ids;
    if (limit == -1) {
      ids = LongStream.range(0, countWithLabel).map( i -> cursor.next() ? cursor.nodeReference() : -1L );
    } else {
      int[] indexes = ThreadLocalRandom.current().ints(limit + 1, 0, countWithLabel).sorted().toArray();
      IntStream deltas = IntStream.range(0, limit).map(i -> indexes[i + 1] - indexes[i]);
      ids = deltas.mapToLong(delta -> { while (delta > 0 && cursor.next()) delta--;return cursor.nodeReference(); });
    }
    return ids.mapToInt(graph::toMappedNodeId).onClose(cursor::close);
  } else if (start instanceof Collection) {
    return ((Collection)start).stream().mapToLong(e -> ((Number)e).longValue()).mapToInt(graph::toMappedNodeId);
  } else if (start instanceof Number) {
    return LongStream.of(((Number)start).longValue()).mapToInt(graph::toMappedNodeId);
  } else {
    if (nodeCount < limit) {
      return IntStream.range(0,nodeCount).limit(limit);
    } else {
      return IntStream.generate(() -> ThreadLocalRandom.current().nextInt(nodeCount)).limit(limit);
    }
  }
}

代码示例来源:origin: org.neo4j/graph-algorithms-algo

private IntStream idStream(@Name(value = "start", defaultValue = "null") Object start, Graph graph, int limit) {
  int nodeCount = Math.toIntExact(graph.nodeCount());
  if (start instanceof String) {
    String label = start.toString();
    int labelId = transaction.tokenRead().nodeLabel(label);
    int countWithLabel = Math.toIntExact(transaction.dataRead().countsForNodeWithoutTxState(labelId));
    NodeLabelIndexCursor cursor = transaction.cursors().allocateNodeLabelIndexCursor();
    transaction.dataRead().nodeLabelScan(labelId, cursor);
    cursor.next();
    LongStream ids;
    if (limit == -1) {
      ids = LongStream.range(0, countWithLabel).map( i -> cursor.next() ? cursor.nodeReference() : -1L );
    } else {
      int[] indexes = ThreadLocalRandom.current().ints(limit + 1, 0, countWithLabel).sorted().toArray();
      IntStream deltas = IntStream.range(0, limit).map(i -> indexes[i + 1] - indexes[i]);
      ids = deltas.mapToLong(delta -> { while (delta > 0 && cursor.next()) delta--;return cursor.nodeReference(); });
    }
    return ids.mapToInt(graph::toMappedNodeId).onClose(cursor::close);
  } else if (start instanceof Collection) {
    return ((Collection)start).stream().mapToLong(e -> ((Number)e).longValue()).mapToInt(graph::toMappedNodeId);
  } else if (start instanceof Number) {
    return LongStream.of(((Number)start).longValue()).mapToInt(graph::toMappedNodeId);
  } else {
    if (nodeCount < limit) {
      return IntStream.range(0,nodeCount).limit(limit);
    } else {
      return IntStream.generate(() -> ThreadLocalRandom.current().nextInt(nodeCount)).limit(limit);
    }
  }
}

相关文章

微信公众号

最新文章

更多