doubleStream static method

DoubleStream doubleStream(
  1. Iterable<double> source, {
  2. bool parallel = false,
})

Creates a new sequential or parallel DoubleStream from an Iterable of doubles.

Parameters

  • source: The iterable of doubles to create a stream from
  • parallel: Whether the stream should be parallel (default: false)

Example

final values = [1.1, 2.2, 3.3, 4.4, 5.5];
final doubleStream = StreamSupport.doubleStream(values);
final parallelDoubleStream = StreamSupport.doubleStream(values, parallel: true);

A sequence of primitive double-valued elements supporting sequential and parallel aggregate operations.

This is the double primitive specialization of BaseStream. It enables functional-style operations including transformation, filtering, reduction, and terminal collection.

Example Usage

// Create a DoubleStream from values
final average = DoubleStream.of([1.5, 2.5, 3.5, 4.5])
    .filter((d) => d > 2.0)
    .average();
print(average); // 3.5

// Statistical operations
final stats = DoubleStream.of([1.1, 2.2, 3.3, 4.4, 5.5])
    .summaryStatistics();
print('Sum: ${stats.sum}');
print('Average: ${stats.average}');

// Complex transformations
final result = DoubleStream.of([1.0, 2.0, 3.0, 4.0, 5.0])
    .map((d) => d * d)
    .filter((d) => d > 10.0)
    .toList();

Implementation

static DoubleStream doubleStream(Iterable<double> source, {bool parallel = false}) {
  final stream = DoubleStream.of(source);
  return parallel ? stream.parallel() : stream;
}