jdk/src/java.base/share/classes/java/util/stream/package-info.java
changeset 44844 b2b4d98404ba
parent 38442 387a4457880c
child 47004 b7e72fc752c9
--- a/jdk/src/java.base/share/classes/java/util/stream/package-info.java	Wed Apr 26 09:37:23 2017 -0700
+++ b/jdk/src/java.base/share/classes/java/util/stream/package-info.java	Wed Apr 26 13:38:21 2017 -0700
@@ -94,7 +94,7 @@
  * <p>Additional stream sources can be provided by third-party libraries using
  * <a href="package-summary.html#StreamSources">these techniques</a>.
  *
- * <h2><a name="StreamOps">Stream operations and pipelines</a></h2>
+ * <h2><a id="StreamOps">Stream operations and pipelines</a></h2>
  *
  * <p>Stream operations are divided into <em>intermediate</em> and
  * <em>terminal</em> operations, and are combined to form <em>stream
@@ -159,7 +159,7 @@
  * is a necessary, but not sufficient, condition for the processing of an infinite
  * stream to terminate normally in finite time.
  *
- * <h3><a name="Parallelism">Parallelism</a></h3>
+ * <h3><a id="Parallelism">Parallelism</a></h3>
  *
  * <p>Processing elements with an explicit {@code for-}loop is inherently serial.
  * Streams facilitate parallel execution by reframing the computation as a pipeline of
@@ -206,7 +206,7 @@
  * as {@link java.util.function.Function}, and are often lambda expressions or
  * method references.
  *
- * <h3><a name="NonInterference">Non-interference</a></h3>
+ * <h3><a id="NonInterference">Non-interference</a></h3>
  *
  * Streams enable you to execute possibly-parallel aggregate operations over a
  * variety of data sources, including even non-thread-safe collections such as
@@ -252,7 +252,7 @@
  * <a href="package-summary.html#StreamSources">Low-level stream
  * construction</a> for requirements for building well-behaved streams.
  *
- * <h3><a name="Statelessness">Stateless behaviors</a></h3>
+ * <h3><a id="Statelessness">Stateless behaviors</a></h3>
  *
  * Stream pipeline results may be nondeterministic or incorrect if the behavioral
  * parameters to the stream operations are <em>stateful</em>.  A stateful lambda
@@ -280,7 +280,7 @@
  * parameters to stream operations entirely; there is usually a way to
  * restructure the stream pipeline to avoid statefulness.
  *
- * <h3><a name="SideEffects">Side-effects</a></h3>
+ * <h3><a id="SideEffects">Side-effects</a></h3>
  *
  * Side-effects in behavioral parameters to stream operations are, in general,
  * discouraged, as they can often lead to unwitting violations of the
@@ -349,7 +349,7 @@
  *               .collect(Collectors.toList());  // No side-effects!
  * }</pre>
  *
- * <h3><a name="Ordering">Ordering</a></h3>
+ * <h3><a id="Ordering">Ordering</a></h3>
  *
  * <p>Streams may or may not have a defined <em>encounter order</em>.  Whether
  * or not a stream has an encounter order depends on the source and the
@@ -388,7 +388,7 @@
  * However, most stream pipelines, such as the "sum of weight of blocks" example
  * above, still parallelize efficiently even under ordering constraints.
  *
- * <h2><a name="Reduction">Reduction operations</a></h2>
+ * <h2><a id="Reduction">Reduction operations</a></h2>
  *
  * A <em>reduction</em> operation (also called a <em>fold</em>) takes a sequence
  * of input elements and combines them into a single summary result by repeated
@@ -493,7 +493,7 @@
  * significant work can be optimized away by combining mapping and reducing
  * into a single function.
  *
- * <h3><a name="MutableReduction">Mutable reduction</a></h3>
+ * <h3><a id="MutableReduction">Mutable reduction</a></h3>
  *
  * A <em>mutable reduction operation</em> accumulates input elements into a
  * mutable result container, such as a {@code Collection} or {@code StringBuilder},
@@ -620,7 +620,7 @@
  * but in some cases equivalence may be relaxed to account for differences in
  * order.
  *
- * <h3><a name="ConcurrentReduction">Reduction, concurrency, and ordering</a></h3>
+ * <h3><a id="ConcurrentReduction">Reduction, concurrency, and ordering</a></h3>
  *
  * With some complex reduction operations, for example a {@code collect()} that
  * produces a {@code Map}, such as:
@@ -675,7 +675,7 @@
  * We would then be constrained to implement either a sequential reduction or
  * a merge-based parallel reduction.
  *
- * <h3><a name="Associativity">Associativity</a></h3>
+ * <h3><a id="Associativity">Associativity</a></h3>
  *
  * An operator or function {@code op} is <em>associative</em> if the following
  * holds:
@@ -693,7 +693,7 @@
  * <p>Examples of associative operations include numeric addition, min, and
  * max, and string concatenation.
  *
- * <h2><a name="StreamSources">Low-level stream construction</a></h2>
+ * <h2><a id="StreamSources">Low-level stream construction</a></h2>
  *
  * So far, all the stream examples have used methods like
  * {@link java.util.Collection#stream()} or {@link java.util.Arrays#stream(Object[])}