| 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 /** | 5 /** |
| 6 * This class is the public interface of a set. A set is a collection | 6 * This class is the public interface of a set. A set is a collection |
| 7 * without duplicates. | 7 * without duplicates. |
| 8 */ | 8 */ |
| 9 interface Set<E> extends Collection<E> | 9 interface Set<E> extends Collection<E> |
| 10 default HashSetImplementation<E extends Hashable> { | 10 default HashSetImplementation<E extends Hashable> { |
| 11 Set(); | 11 Set(); |
| 12 | 12 |
| 13 /** | 13 /** |
| 14 * Creates a [Set] that contains all elements of [other]. | 14 * Creates a [Set] that contains all elements of [other]. |
| 15 */ | 15 */ |
| 16 Set.from(Iterable<E> other); | 16 Set.from(Iterable<E> other); |
| 17 | 17 |
| 18 /** | 18 /** |
| 19 * Returns true if [value] is in the set. | 19 * Returns true if [value] is in the set. |
| 20 */ | 20 */ |
| 21 bool contains(E value); | 21 bool contains(E value); |
| 22 | 22 |
| 23 /** | 23 /** |
| 24 * Adds [value] into the set. The method has no effect if | 24 * Adds [value] into the set. Returns true if [value] was not in the set. |
| 25 * [value] was already in the set. | 25 * The method has no effect if [value] was already in the set. |
| 26 */ | 26 */ |
| 27 void add(E value); | 27 bool add(E value); |
| 28 | 28 |
| 29 /** | 29 /** |
| 30 * Removes [value] from the set. Returns true if [value] was | 30 * Removes [value] from the set. Returns true if [value] was |
| 31 * in the set. Returns false otherwise. The method has no effect | 31 * in the set. Returns false otherwise. The method has no effect |
| 32 * if [value] value was not in the set. | 32 * if [value] value was not in the set. |
| 33 */ | 33 */ |
| 34 bool remove(E value); | 34 bool remove(E value); |
| 35 | 35 |
| 36 /** | 36 /** |
| 37 * Adds all the elements of the given collection to the set. | 37 * Adds all the elements of the given collection to the set. |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 | 70 |
| 71 interface HashSet<E extends Hashable> extends Set<E> | 71 interface HashSet<E extends Hashable> extends Set<E> |
| 72 default HashSetImplementation<E extends Hashable> { | 72 default HashSetImplementation<E extends Hashable> { |
| 73 HashSet(); | 73 HashSet(); |
| 74 | 74 |
| 75 /** | 75 /** |
| 76 * Creates a [Set] that contains all elements of [other]. | 76 * Creates a [Set] that contains all elements of [other]. |
| 77 */ | 77 */ |
| 78 HashSet.from(Iterable<E> other); | 78 HashSet.from(Iterable<E> other); |
| 79 } | 79 } |
| OLD | NEW |