jdk/src/share/classes/java/util/stream/package-info.java
changeset 22291 6106c1f013f1
parent 21339 20e8b81964d5
child 25224 7c7e029826e1
equal deleted inserted replaced
22289:bb9c71b84919 22291:6106c1f013f1
   204  * most cases must be <em>stateless</em>.  Such parameters are always instances
   204  * most cases must be <em>stateless</em>.  Such parameters are always instances
   205  * of a <a href="../function/package-summary.html">functional interface</a> such
   205  * of a <a href="../function/package-summary.html">functional interface</a> such
   206  * as {@link java.util.function.Function}, and are often lambda expressions or
   206  * as {@link java.util.function.Function}, and are often lambda expressions or
   207  * method references.
   207  * method references.
   208  *
   208  *
   209  * <h3><a name="Non-Interference">Non-interference</a></h3>
   209  * <h3><a name="NonInterference">Non-interference</a></h3>
   210  *
   210  *
   211  * Streams enable you to execute possibly-parallel aggregate operations over a
   211  * Streams enable you to execute possibly-parallel aggregate operations over a
   212  * variety of data sources, including even non-thread-safe collections such as
   212  * variety of data sources, including even non-thread-safe collections such as
   213  * {@code ArrayList}. This is possible only if we can prevent
   213  * {@code ArrayList}. This is possible only if we can prevent
   214  * <em>interference</em> with the data source during the execution of a stream
   214  * <em>interference</em> with the data source during the execution of a stream
   727  * pipelines. Streams based on spliterators with the desired characteristics,
   727  * pipelines. Streams based on spliterators with the desired characteristics,
   728  * or those using the Supplier-based factory forms, are immune to
   728  * or those using the Supplier-based factory forms, are immune to
   729  * modifications of the data source prior to commencement of the terminal
   729  * modifications of the data source prior to commencement of the terminal
   730  * operation (provided the behavioral parameters to the stream operations meet
   730  * operation (provided the behavioral parameters to the stream operations meet
   731  * the required criteria for non-interference and statelessness).  See
   731  * the required criteria for non-interference and statelessness).  See
   732  * <a href="package-summary.html#Non-Interference">Non-Interference</a>
   732  * <a href="package-summary.html#NonInterference">Non-Interference</a>
   733  * for more details.
   733  * for more details.
   734  *
   734  *
   735  * @since 1.8
   735  * @since 1.8
   736  */
   736  */
   737 package java.util.stream;
   737 package java.util.stream;