src/java.base/share/classes/java/util/doc-files/coll-reference.html
author jjg
Wed, 04 Apr 2018 14:42:53 -0700
changeset 49522 3930c4d4f805
parent 47216 71c04702a3d5
child 52808 064e5795fa59
permissions -rw-r--r--
8200664: fix broken links in java.base docs Reviewed-by: alanb, joehw
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
     1
<!DOCTYPE html>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
     2
<!--
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
     3
 Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
     4
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
     5
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
     6
 This code is free software; you can redistribute it and/or modify it
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
     7
 under the terms of the GNU General Public License version 2 only, as
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
     8
 published by the Free Software Foundation.  Oracle designates this
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
     9
 particular file as subject to the "Classpath" exception as provided
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    10
 by Oracle in the LICENSE file that accompanied this code.
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    11
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    12
 This code is distributed in the hope that it will be useful, but WITHOUT
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    13
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    14
 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    15
 version 2 for more details (a copy is included in the LICENSE file that
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    16
 accompanied this code).
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    17
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    18
 You should have received a copy of the GNU General Public License version
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    19
 2 along with this work; if not, write to the Free Software Foundation,
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    20
 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    21
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    22
 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    23
 or visit www.oracle.com if you need additional information or have any
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    24
 questions.
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    25
-->
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    26
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
    27
<html lang="en-US">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    28
<head>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    29
<title>Outline of the Collections Framework</title>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
    30
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    31
</head>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    32
<body>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    33
<h1>Outline of the Collections Framework</h1>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    34
<!-- Body text begins here -->
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    35
The collections framework consists of:
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    36
<ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    37
<li><strong>Collection interfaces</strong> - The primary means by
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    38
which collections are manipulated.
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    39
<ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    40
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    41
"../Collection.html"><strong>Collection</strong></a>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    42
- A group of objects. No assumptions are made about the order of
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    43
the collection (if any) or whether it can contain duplicate
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    44
elements.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    45
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    46
"../Set.html"><strong>Set</strong></a> - The
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    47
familiar set abstraction. No duplicate elements permitted. May or
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
    48
may not be ordered. Extends the <code>Collection</code> interface.</li>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    49
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    50
"../List.html"><strong>List</strong></a> -
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    51
Ordered collection, also known as a <i>sequence</i>. Duplicates are
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    52
generally permitted. Allows positional access. Extends the
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
    53
<code>Collection</code> interface.</li>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    54
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    55
"../Queue.html"><strong>Queue</strong></a> - A
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    56
collection designed for holding elements before processing. Besides
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
    57
basic <code>Collection</code> operations, queues provide additional
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    58
insertion, extraction, and inspection operations.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    59
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    60
"../Deque.html"><strong>Deque</strong></a> - A
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    61
<em>double ended queue</em>, supporting element insertion and
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
    62
removal at both ends. Extends the <code>Queue</code> interface.</li>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    63
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    64
"../Map.html"><strong>Map</strong></a> - A
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    65
mapping from keys to values. Each key can map to one value.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    66
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    67
"../SortedSet.html"><strong>SortedSet</strong></a>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    68
- A set whose elements are automatically sorted, either in their
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    69
<i>natural ordering</i> (see the <a href=
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
    70
"../../lang/Comparable.html"><code>Comparable</code></a>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    71
interface) or by a <a href=
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
    72
"../Comparator.html"><code>Comparator</code></a>
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
    73
object provided when a <code>SortedSet</code> instance is created.
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
    74
Extends the <code>Set</code> interface.</li>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    75
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    76
"../SortedMap.html"><strong>SortedMap</strong></a>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    77
- A map whose mappings are automatically sorted by key, either
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    78
using the <i>natural ordering</i> of the keys or by a comparator
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
    79
provided when a <code>SortedMap</code> instance is created. Extends the
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
    80
<code>Map</code> interface.</li>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    81
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    82
"../NavigableSet.html"><strong>NavigableSet</strong></a>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
    83
- A <code>SortedSet</code> extended with navigation methods reporting
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
    84
closest matches for given search targets. A <code>NavigableSet</code>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    85
may be accessed and traversed in either ascending or descending
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    86
order.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    87
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    88
"../NavigableMap.html"><strong>NavigableMap</strong></a>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
    89
- A <code>SortedMap</code> extended with navigation methods returning
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    90
the closest matches for given search targets. A
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
    91
<code>NavigableMap</code> can be accessed and traversed in either
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    92
ascending or descending key order.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    93
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    94
"../concurrent/BlockingQueue.html"><strong>BlockingQueue</strong></a>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
    95
- A <code>Queue</code> with operations that wait for the queue to
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    96
become nonempty when retrieving an element and that wait for space
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
    97
to become available in the queue when storing an element. (This
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
    98
interface is part of the <code><a href=
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
    99
"../concurrent/package-summary.html">java.util.concurrent</a></code>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   100
package.)</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   101
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   102
"../concurrent/TransferQueue.html"><strong>TransferQueue</strong></a>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   103
- A <code>BlockingQueue</code> in which producers can wait for
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   104
consumers to receive elements. (This interface is part of the
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   105
<code><a href=
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   106
"../concurrent/package-summary.html">java.util.concurrent</a></code>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   107
package.)</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   108
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   109
"../concurrent/BlockingDeque.html"><strong>BlockingDeque</strong></a>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   110
- A <code>Deque</code> with operations that wait for the deque to
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   111
become nonempty when retrieving an element and wait for space to
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   112
become available in the deque when storing an element. Extends both
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   113
the <code>Deque</code> and <code>BlockingQueue</code> interfaces. (This
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   114
interface is part of the <code><a href=
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   115
"../concurrent/package-summary.html">java.util.concurrent</a></code>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   116
package.)</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   117
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   118
"../concurrent/ConcurrentMap.html"><strong>ConcurrentMap</strong></a>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   119
- A <code>Map</code> with atomic <code>putIfAbsent</code>, <code>remove</code>,
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   120
and <code>replace</code> methods. (This interface is part of the
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   121
<code>java.util.concurrent</code> package.)</li>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   122
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   123
"../concurrent/ConcurrentNavigableMap.html"><strong>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   124
ConcurrentNavigableMap</strong></a> - A <code>ConcurrentMap</code> that
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   125
is also a <code>NavigableMap</code>.</li>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   126
</ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   127
</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   128
<li><strong>General-purpose implementations</strong> - The primary
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   129
implementations of the collection interfaces.
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   130
<ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   131
<li><strong><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   132
"../HashSet.html">HashSet</a></strong> - Hash
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   133
table implementation of the <code>Set</code> interface. The best
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   134
all-around implementation of the <code>Set</code> interface.</li>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   135
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   136
"../TreeSet.html"><strong>TreeSet</strong></a>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   137
- Red-black tree implementation of the <code>NavigableSet</code>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   138
interface.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   139
<li><strong><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   140
"../LinkedHashSet.html">LinkedHashSet</a></strong>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   141
- Hash table and linked list implementation of the <code>Set</code>
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   142
interface. An insertion-ordered <code>Set</code> implementation that
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   143
runs nearly as fast as <code>HashSet</code>.</li>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   144
<li><strong><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   145
"../ArrayList.html">ArrayList</a></strong> -
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   146
Resizable array implementation of the <code>List</code> interface (an
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   147
unsynchronized <code>Vector</code>). The best all-around implementation
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   148
of the <code>List</code> interface.</li>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   149
<li><strong><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   150
"../ArrayDeque.html">ArrayDeque</a></strong> -
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   151
Efficient, resizable array implementation of the <code>Deque</code>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   152
interface.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   153
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   154
"../LinkedList.html"><strong>LinkedList</strong></a>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   155
- Doubly-linked list implementation of the <code>List</code> interface.
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   156
Provides better performance than the <code>ArrayList</code>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   157
implementation if elements are frequently inserted or deleted
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   158
within the list. Also implements the <code>Deque</code> interface. When
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   159
accessed through the <code>Queue</code> interface, <code>LinkedList</code>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   160
acts as a FIFO queue.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   161
<li><strong><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   162
"../PriorityQueue.html">PriorityQueue</a></strong>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   163
- Heap implementation of an unbounded priority queue.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   164
<li><strong><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   165
"../HashMap.html">HashMap</a></strong> - Hash
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   166
table implementation of the <code>Map</code> interface (an
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   167
unsynchronized <code>Hashtable</code> that supports <code>null</code> keys
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   168
and values). The best all-around implementation of the <code>Map</code>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   169
interface.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   170
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   171
"../TreeMap.html"><strong>TreeMap</strong></a>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   172
Red-black tree implementation of the <code>NavigableMap</code>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   173
interface.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   174
<li><strong><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   175
"../LinkedHashMap.html">LinkedHashMap</a></strong>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   176
- Hash table and linked list implementation of the <code>Map</code>
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   177
interface. An insertion-ordered <code>Map</code> implementation that
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   178
runs nearly as fast as <code>HashMap</code>. Also useful for building
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   179
caches (see <a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   180
"../LinkedHashMap.html#removeEldestEntry(java.util.Map.Entry)">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   181
removeEldestEntry(Map.Entry)</a> ).</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   182
</ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   183
</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   184
<li><strong>Wrapper implementations</strong> -
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   185
Functionality-enhancing implementations for use with other
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   186
implementations. Accessed solely through static factory methods.
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   187
<ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   188
<li><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   189
"../Collections.html#unmodifiableCollection(java.util.Collection)">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   190
<strong>Collections.unmodifiable<i>Interface</i></strong></a> -
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   191
Returns an unmodifiable view of a specified collection that throws
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   192
an <code>UnsupportedOperationException</code> if the user attempts to
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   193
modify it.</li>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   194
<li><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   195
"../Collections.html#synchronizedCollection(java.util.Collection)"
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   196
id=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   197
"synchWrappers"><strong>Collections.synchronized<i>Interface</i></strong></a>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   198
- Returns a synchronized collection that is backed by the specified
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   199
(typically unsynchronized) collection. As long as all accesses to
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   200
the backing collection are through the returned collection, thread
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   201
safety is guaranteed.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   202
<li><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   203
"../Collections.html#checkedCollection(java.util.Collection,java.lang.Class)">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   204
<strong>Collections.checked<i>Interface</i></strong></a> - Returns
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   205
a dynamically type-safe view of the specified collection, which
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   206
throws a <code>ClassCastException</code> if a client attempts to add an
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   207
element of the wrong type. The generics mechanism in the language
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   208
provides compile-time (static) type checking, but it is possible to
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   209
bypass this mechanism. Dynamically type-safe views eliminate this
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   210
possibility.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   211
</ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   212
</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   213
<li><strong>Adapter implementations</strong> - Implementations that
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   214
adapt one collections interface to another:
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   215
<ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   216
<li><strong><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   217
"../Collections.html#newSetFromMap(java.util.Map)">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   218
newSetFromMap(Map)</a></strong> - Creates a general-purpose
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   219
<code>Set</code> implementation from a general-purpose <code>Map</code>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   220
implementation.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   221
<li><strong><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   222
"../Collections.html#asLifoQueue(java.util.Deque)">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   223
asLifoQueue(Deque)</a></strong> - Returns a view of a
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   224
<code>Deque</code> as a Last In First Out (LIFO) <code>Queue</code>.</li>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   225
</ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   226
</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   227
<li><strong>Convenience implementations</strong> - High-performance
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   228
"mini-implementations" of the collection interfaces.
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   229
<ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   230
<li><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   231
"../Arrays.html#asList(T...)"><strong>Arrays.asList</strong></a>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   232
- Enables an array to be viewed as a list.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   233
<li><strong><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   234
"../Collections.html#emptySet()">emptySet</a>,
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   235
<a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   236
"../Collections.html#emptyList()">emptyList</a>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   237
and <a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   238
"../Collections.html#emptyMap()">emptyMap</a></strong>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   239
- Return an immutable empty set, list, or map.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   240
<li><strong><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   241
"../Collections.html#singleton(java.lang.Object)">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   242
singleton</a>, <a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   243
"../Collections.html#singletonList(java.lang.Object)">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   244
singletonList</a>, and <a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   245
"../Collections.html#singletonMap(K,V)">singletonMap</a></strong>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   246
- Return an immutable singleton set, list, or map, containing only
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   247
the specified object (or key-value mapping).</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   248
<li><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   249
"../Collections.html#nCopies(int,T)"><strong>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   250
nCopies</strong></a> - Returns an immutable list consisting of n
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   251
copies of a specified object.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   252
</ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   253
</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   254
<li><strong>Legacy implementations</strong> - Older collection
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   255
classes were retrofitted to implement the collection interfaces.
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   256
<ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   257
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   258
"../Vector.html"><strong>Vector</strong></a> -
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   259
Synchronized resizable array implementation of the <code>List</code>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   260
interface with additional legacy methods.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   261
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   262
"../Hashtable.html"><strong>Hashtable</strong></a>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   263
- Synchronized hash table implementation of the <code>Map</code>
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   264
interface that does not allow <code>null</code> keys or values, plus
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   265
additional legacy methods.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   266
</ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   267
</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   268
<li><strong>Special-purpose implementations</strong>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   269
<ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   270
<li><strong><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   271
"../WeakHashMap.html">WeakHashMap</a></strong>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   272
- An implementation of the <code>Map</code> interface that stores only
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   273
<a href="../../lang/ref/WeakReference.html"><i>weak
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   274
references</i></a> to its keys. Storing only weak references
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   275
enables key-value pairs to be garbage collected when the key is no
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   276
longer referenced outside of the <code>WeakHashMap</code>. This class
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   277
is the easiest way to use the power of weak references. It is
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   278
useful for implementing registry-like data structures, where the
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   279
utility of an entry vanishes when its key is no longer reachable by
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   280
any thread.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   281
<li><strong><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   282
"../IdentityHashMap.html">IdentityHashMap</a></strong>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   283
- Identity-based <code>Map</code> implementation based on a hash table.
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   284
This class is useful for topology-preserving object graph
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   285
transformations (such as serialization or deep copying). To perform
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   286
these transformations, you must maintain an identity-based "node
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   287
table" that keeps track of which objects have already been seen.
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   288
Identity-based maps are also used to maintain
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   289
object-to-meta-information mappings in dynamic debuggers and
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   290
similar systems. Finally, identity-based maps are useful in
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   291
preventing "spoof attacks" resulting from intentionally perverse
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   292
equals methods. (<code>IdentityHashMap</code> never invokes the equals
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   293
method on its keys.) An added benefit of this implementation is
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   294
that it is fast.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   295
<li><strong><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   296
"../concurrent/CopyOnWriteArrayList.html">CopyOnWriteArrayList</a></strong>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   297
- A <code>List</code> implementation backed by an copy-on-write array.
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   298
All mutative operations (such as <code>add</code>, <code>set</code>, and
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   299
<code>remove</code>) are implemented by making a new copy of the array.
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   300
No synchronization is necessary, even during iteration, and
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   301
iterators are guaranteed never to throw
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   302
<code>ConcurrentModificationException</code>. This implementation is
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   303
well-suited to maintaining event-handler lists (where change is
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   304
infrequent, and traversal is frequent and potentially
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   305
time-consuming).</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   306
<li><strong><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   307
"../concurrent/CopyOnWriteArraySet.html">CopyOnWriteArraySet</a></strong>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   308
- A <code>Set</code> implementation backed by a copy-on-write array.
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   309
This implementation is similar to <code>CopyOnWriteArrayList</code>.
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   310
Unlike most <code>Set</code> implementations, the <code>add</code>,
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   311
<code>remove</code>, and <code>contains</code> methods require time
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   312
proportional to the size of the set. This implementation is well
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   313
suited to maintaining event-handler lists that must prevent
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   314
duplicates.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   315
<li><strong><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   316
"../EnumSet.html">EnumSet</a></strong> - A
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   317
high-performance <code>Set</code> implementation backed by a bit
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   318
vector. All elements of each <code>EnumSet</code> instance must be
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   319
elements of a single enum type.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   320
<li><strong><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   321
"../EnumMap.html">EnumMap</a></strong> - A
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   322
high-performance <code>Map</code> implementation backed by an array.
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   323
All keys in each <code>EnumMap</code> instance must be elements of a
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   324
single enum type.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   325
</ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   326
</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   327
<li><strong>Concurrent implementations</strong> - These
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   328
implementations are part of <code>java.util.concurrent</code>.
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   329
<ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   330
<li><strong><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   331
"../concurrent/ConcurrentLinkedQueue.html">ConcurrentLinkedQueue</a></strong>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   332
- An unbounded first in, first out (FIFO) queue based on linked
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   333
nodes.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   334
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   335
"../concurrent/LinkedBlockingQueue.html"><strong>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   336
LinkedBlockingQueue</strong></a> - An optionally bounded FIFO
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   337
blocking queue backed by linked nodes.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   338
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   339
"../concurrent/ArrayBlockingQueue.html"><strong>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   340
ArrayBlockingQueue</strong></a> - A bounded FIFO blocking queue
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   341
backed by an array.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   342
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   343
"../concurrent/PriorityBlockingQueue.html"><strong>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   344
PriorityBlockingQueue</strong></a> - An unbounded blocking priority
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   345
queue backed by a priority heap.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   346
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   347
"../concurrent/DelayQueue.html"><strong>DelayQueue</strong></a>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   348
- A time-based scheduling queue backed by a priority heap.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   349
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   350
"../concurrent/SynchronousQueue.html"><strong>SynchronousQueue</strong></a>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   351
- A simple rendezvous mechanism that uses the
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   352
<code>BlockingQueue</code> interface.</li>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   353
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   354
"../concurrent/LinkedBlockingDeque.html"><strong>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   355
LinkedBlockingDeque</strong></a> - An optionally bounded FIFO
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   356
blocking deque backed by linked nodes.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   357
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   358
"../concurrent/LinkedTransferQueue.html"><strong>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   359
LinkedTransferQueue</strong></a> - An unbounded
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   360
<code>TransferQueue</code> backed by linked nodes.</li>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   361
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   362
"../concurrent/ConcurrentHashMap.html"><strong>ConcurrentHashMap</strong></a>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   363
- A highly concurrent, high-performance <code>ConcurrentMap</code>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   364
implementation based on a hash table. This implementation never
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   365
blocks when performing retrievals and enables the client to select
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   366
the concurrency level for updates. It is intended as a drop-in
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   367
replacement for <code><a href=
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   368
"../Hashtable.html">Hashtable</a></code>. In
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   369
addition to implementing <code>ConcurrentMap</code>, it supports all of
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   370
the legacy methods of <code>Hashtable</code>.</li>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   371
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   372
"../concurrent/ConcurrentSkipListSet.html"><strong>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   373
ConcurrentSkipListSet</strong></a> - Skips list implementation of
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   374
the <code>NavigableSet</code> interface.</li>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   375
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   376
"../concurrent/ConcurrentSkipListMap.html"><strong>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   377
ConcurrentSkipListMap</strong></a> - Skips list implementation of
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   378
the <code>ConcurrentNavigableMap</code> interface.</li>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   379
</ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   380
</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   381
<li><strong>Abstract implementations</strong> - Skeletal
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   382
implementations of the collection interfaces to facilitate custom
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   383
implementations.
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   384
<ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   385
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   386
"../AbstractCollection.html"><strong>AbstractCollection</strong></a>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   387
- Skeletal <code>Collection</code> implementation that is neither a set
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   388
nor a list (such as a "bag" or multiset).</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   389
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   390
"../AbstractSet.html"><strong>AbstractSet</strong></a>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   391
- Skeletal <code>Set</code> implementation.</li>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   392
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   393
"../AbstractList.html"><strong>AbstractList</strong></a>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   394
- Skeletal <code>List</code> implementation backed by a random access
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   395
data store (such as an array).</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   396
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   397
"../AbstractSequentialList.html"><strong>AbstractSequentialList</strong></a>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   398
- Skeletal <code>List</code> implementation backed by a sequential
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   399
access data store (such as a linked list).</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   400
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   401
"../AbstractQueue.html"><strong>AbstractQueue</strong></a>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   402
- Skeletal <code>Queue</code> implementation.</li>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   403
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   404
"../AbstractMap.html"><strong>AbstractMap</strong></a>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   405
- Skeletal <code>Map</code> implementation.</li>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   406
</ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   407
</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   408
<li><strong>Algorithms</strong> - The <a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   409
"../Collections.html"><strong>Collections</strong></a>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   410
class contains these useful static methods.
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   411
<ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   412
<li><strong><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   413
"../Collections.html#sort(java.util.List)">sort(List)</a></strong>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   414
- Sorts a list using a merge sort algorithm, which provides average
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   415
case performance comparable to a high quality quicksort, guaranteed
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   416
O(n*log n) performance (unlike quicksort), and <em>stability</em>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   417
(unlike quicksort). A stable sort is one that does not reorder
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   418
equal elements.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   419
<li><strong><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   420
"../Collections.html#binarySearch(java.util.List,T)">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   421
binarySearch(List, Object)</a></strong> - Searches for an element
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   422
in an ordered list using the binary search algorithm.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   423
<li><strong><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   424
"../Collections.html#reverse(java.util.List)">reverse(List)</a></strong>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   425
- Reverses the order of the elements in a list.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   426
<li><strong><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   427
"../Collections.html#shuffle(java.util.List)">shuffle(List)</a></strong>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   428
- Randomly changes the order of the elements in a list.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   429
<li><strong><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   430
"../Collections.html#fill(java.util.List,T)">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   431
fill(List, Object)</a></strong> - Overwrites every element in a
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   432
list with the specified value.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   433
<li><strong><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   434
"../Collections.html#copy-java.util.List(java.util.List)">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   435
copy(List dest, List src)</a></strong> - Copies the source list
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   436
into the destination list.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   437
<li><strong><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   438
"../Collections.html#min(java.util.Collection)">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   439
min(Collection)</a></strong> - Returns the minimum element in a
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   440
collection.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   441
<li><strong><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   442
"../Collections.html#max(java.util.Collection)">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   443
max(Collection)</a></strong> - Returns the maximum element in a
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   444
collection.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   445
<li><strong><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   446
"../Collections.html#rotate(java.util.List,int)">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   447
rotate(List list, int distance)</a></strong> - Rotates all of the
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   448
elements in the list by the specified distance.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   449
<li><strong><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   450
"../Collections.html#replaceAll(java.util.List,T,T)">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   451
replaceAll(List list, Object oldVal, Object newVal)</a></strong> -
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   452
Replaces all occurrences of one specified value with another.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   453
<li><strong><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   454
"../Collections.html#indexOfSubList(java.util.List,java.util.List)">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   455
indexOfSubList(List source, List target)</a></strong> - Returns the
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   456
index of the first sublist of source that is equal to target.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   457
<li><strong><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   458
"../Collections.html#lastIndexOfSubList(java.util.List,java.util.List)">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   459
lastIndexOfSubList(List source, List target)</a></strong> - Returns
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   460
the index of the last sublist of source that is equal to
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   461
target.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   462
<li><strong><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   463
"../Collections.html#swap(java.util.List,int,int)">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   464
swap(List, int, int)</a></strong> - Swaps the elements at the
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   465
specified positions in the specified list.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   466
<li><strong><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   467
"../Collections.html#frequency(java.util.Collection,java.lang.Object)">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   468
frequency(Collection, Object)</a></strong> - Counts the number of
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   469
times the specified element occurs in the specified
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   470
collection.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   471
<li><strong><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   472
"../Collections.html#disjoint(java.util.Collection,java.util.Collection)">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   473
disjoint(Collection, Collection)</a></strong> - Determines whether
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   474
two collections are disjoint, in other words, whether they contain
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   475
no elements in common.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   476
<li><strong><a href=
49522
3930c4d4f805 8200664: fix broken links in java.base docs
jjg
parents: 47216
diff changeset
   477
"../Collections.html#addAll(java.util.Collection,T...)">
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   478
addAll(Collection&lt;? super T&gt;, T...)</a></strong> - Adds all
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   479
of the elements in the specified array to the specified
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   480
collection.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   481
</ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   482
</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   483
<li><strong>Infrastructure</strong>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   484
<ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   485
<li><strong>Iterators</strong> - Similar to the familiar <a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   486
"../Enumeration.html">Enumeration</a>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   487
interface, but more powerful, and with improved method names.
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   488
<ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   489
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   490
"../Iterator.html"><strong>Iterator</strong></a>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   491
- In addition to the functionality of the <code>Enumeration</code>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   492
interface, enables the user to remove elements from the backing
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   493
collection with well-defined, useful semantics.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   494
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   495
"../ListIterator.html"><strong>ListIterator</strong></a>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   496
- Iterator for use with lists. In addition to the functionality of
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   497
the <code>Iterator</code> interface, supports bidirectional iteration,
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   498
element replacement, element insertion, and index retrieval.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   499
</ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   500
</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   501
<li><strong>Ordering</strong>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   502
<ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   503
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   504
"../../lang/Comparable.html"><strong>Comparable</strong></a>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   505
- Imparts a <i>natural ordering</i> to classes that implement it.
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   506
The natural ordering can be used to sort a list or maintain order
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   507
in a sorted set or map. Many classes were retrofitted to implement
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   508
this interface.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   509
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   510
"../Comparator.html"><strong>Comparator</strong></a>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   511
- Represents an order relation, which can be used to sort a list or
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   512
maintain order in a sorted set or map. Can override a type's
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   513
natural ordering or order objects of a type that does not implement
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   514
the <code>Comparable</code> interface.</li>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   515
</ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   516
</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   517
<li><strong>Runtime exceptions</strong>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   518
<ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   519
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   520
"../../lang/UnsupportedOperationException.html"><strong>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   521
UnsupportedOperationException</strong></a> - Thrown by collections
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   522
if an unsupported optional operation is called.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   523
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   524
"../ConcurrentModificationException.html"><strong>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   525
ConcurrentModificationException</strong></a> - Thrown by iterators
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   526
and list iterators if the backing collection is changed
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   527
unexpectedly while the iteration is in progress. Also thrown by
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   528
<i>sublist</i> views of lists if the backing list is changed
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   529
unexpectedly.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   530
</ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   531
</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   532
<li><strong>Performance</strong>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   533
<ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   534
<li><strong><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   535
"../RandomAccess.html">RandomAccess</a></strong>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   536
- Marker interface that lets <code>List</code> implementations indicate
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   537
that they support fast (generally constant time) random access.
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   538
This lets generic algorithms change their behavior to provide good
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   539
performance when applied to either random or sequential access
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   540
lists.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   541
</ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   542
</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   543
</ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   544
</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   545
<li><strong>Array Utilities</strong>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   546
<ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   547
<li><a href=
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   548
"../Arrays.html"><strong>Arrays</strong></a> -
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   549
Contains static methods to sort, search, compare, hash, copy,
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   550
resize, convert to <code>String</code>, and fill arrays of primitives
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   551
and objects.</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   552
</ul>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   553
</li>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   554
</ul>
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   555
<hr>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   556
<p style="font-size:smaller">
46900
e92e67ed12b4 8186466: Fix accessibility and other minor issues in java.base
jjg
parents: 45647
diff changeset
   557
Copyright &copy; 1998, 2017, Oracle and/or its affiliates. 500 Oracle Parkway<br>
45647
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   558
    Redwood Shores, CA 94065 USA. All rights reserved.</p>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   559
<!-- Body text ends here -->
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   560
</body>
ccaa2a452a2d 8177788: migrate collections technotes/guides into java/util/doc-files
smarks
parents:
diff changeset
   561
</html>