OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 part of dart.core; | 5 part of dart.core; |
6 | 6 |
7 /** | 7 /** |
8 * A collection of objects in which each object can occur only once. | 8 * A collection of objects in which each object can occur only once. |
9 * | 9 * |
10 * That is, for each object of the element type, the object is either considered | 10 * That is, for each object of the element type, the object is either considered |
11 * to be in the set, or to _not_ be in the set. | 11 * to be in the set, or to _not_ be in the set. |
12 * | 12 * |
13 * Set implementations may consider some elements indistinguishable. These | 13 * Set implementations may consider some elements indistinguishable. These |
14 * elements are treated as being the same for any operation on the set. | 14 * elements are treated as being the same for any operation on the set. |
15 * | 15 * |
16 * The default [Set] implementation, [LinkedHashSet], considers objects | 16 * The default [Set] implementation, [LinkedHashSet], considers objects |
17 * indistinguishable if they are equal with regard to | 17 * indistinguishable if they are equal with regard to |
18 * operator [Object.==]. | 18 * operator [Object.==]. |
19 * | 19 * |
20 * Iterating over elements of a set may be either unordered | 20 * Iterating over elements of a set may be either unordered |
21 * or ordered in some way. Examples: | 21 * or ordered in some way. Examples: |
22 * | 22 * |
23 * * A [HashSet] is unordered, which means that its iteration order is | 23 * * A [HashSet] is unordered, which means that its iteration order is |
24 * uspecified, | 24 * unspecified, |
25 * * [LinkedHashSet] iterates in the insertion order of its elements, and | 25 * * [LinkedHashSet] iterates in the insertion order of its elements, and |
26 * * a sorted set like [SplayTreeSet] iterates the elements in sorted order. | 26 * * a sorted set like [SplayTreeSet] iterates the elements in sorted order. |
27 * | 27 * |
28 * It is generally not allowed to modify the set (add or remove elements) while | 28 * It is generally not allowed to modify the set (add or remove elements) while |
29 * an operation on the set is being performed, for example during a call to | 29 * an operation on the set is being performed, for example during a call to |
30 * [forEach] or [containsAll]. Nor is it allowed to modify the set while | 30 * [forEach] or [containsAll]. Nor is it allowed to modify the set while |
31 * iterating either the set itself or any [Iterable] that is backed by the set, | 31 * iterating either the set itself or any [Iterable] that is backed by the set, |
32 * such as the ones returned by methods like [where] and [map]. | 32 * such as the ones returned by methods like [where] and [map]. |
33 */ | 33 */ |
34 abstract class Set<E> extends EfficientLengthIterable<E> { | 34 abstract class Set<E> extends EfficientLengthIterable<E> { |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 /* Creates a [Set] with the same elements and behavior as this `Set`. | 195 /* Creates a [Set] with the same elements and behavior as this `Set`. |
196 * | 196 * |
197 * The returned set behaves the same as this set | 197 * The returned set behaves the same as this set |
198 * with regard to adding and removing elements. | 198 * with regard to adding and removing elements. |
199 * It initially contains the same elements. | 199 * It initially contains the same elements. |
200 * If this set specifies an ordering of the elements, | 200 * If this set specifies an ordering of the elements, |
201 * the returned set will have the same order. | 201 * the returned set will have the same order. |
202 */ | 202 */ |
203 Set<E> toSet(); | 203 Set<E> toSet(); |
204 } | 204 } |
OLD | NEW |