| 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 * An unordered collection of key-value pairs, | 8 * An unordered collection of key-value pairs, |
| 9 * from which you retrieve a value by using its associated key. | 9 * from which you retrieve a value by using its associated key. |
| 10 * | 10 * |
| 11 * Each key must be unique. | 11 * Each key must be unique. |
| 12 * Null values are supported, but null keys are not. | 12 * Null values are supported, but null keys are not. |
| 13 */ | 13 */ |
| 14 abstract class Map<K, V> { | 14 abstract class Map<K, V> { |
| 15 /** | 15 /** |
| 16 * Creates a Map instance with the default implementation. | 16 * Creates a Map instance with the default implementation. |
| 17 */ | 17 */ |
| 18 factory Map() = LinkedHashMap<K, V>; | 18 factory Map() => new HashMap<K, V>(); |
| 19 | 19 |
| 20 /** | 20 /** |
| 21 * Creates a Map instance that contains all key-value pairs of [other]. | 21 * Creates a Map instance that contains all key-value pairs of [other]. |
| 22 */ | 22 */ |
| 23 factory Map.from(Map<K, V> other) = LinkedHashMap<K, V>.from; | 23 factory Map.from(Map<K, V> other) => new HashMap<K, V>.from(other); |
| 24 | 24 |
| 25 /** | 25 /** |
| 26 * Creates a Map instance | 26 * Creates a Map instance |
| 27 * where the keys and values are computed from the [iterable]. | 27 * where the keys and values are computed from the [iterable]. |
| 28 * | 28 * |
| 29 * For each element of the [iterable] this constructor computes a key-value | 29 * For each element of the [iterable] this constructor computes a key-value |
| 30 * pair, by applying [key] and [value] respectively. | 30 * pair, by applying [key] and [value] respectively. |
| 31 * | 31 * |
| 32 * The keys computed by the source [iterable] | 32 * The keys computed by the source [iterable] |
| 33 * do not need to be unique. The last | 33 * do not need to be unique. The last |
| 34 * occurrence of a key will simply overwrite any previous value. | 34 * occurrence of a key will simply overwrite any previous value. |
| 35 * | 35 * |
| 36 * If no values are specified for [key] and [value] the default is the | 36 * If no values are specified for [key] and [value] the default is the |
| 37 * identity function. | 37 * identity function. |
| 38 */ | 38 */ |
| 39 factory Map.fromIterable(Iterable<K> iterable, | 39 factory Map.fromIterable(Iterable<K> iterable, |
| 40 {K key(element), V value(element)}) = LinkedHashMap<K, V>.fromIterable; | 40 {K key(element), V value(element)}) = HashMap<K, V>.fromIterable; |
| 41 | 41 |
| 42 /** | 42 /** |
| 43 * Creates a Map instance associating the given [keys] to [values]. | 43 * Creates a Map instance associating the given [keys] to [values]. |
| 44 * | 44 * |
| 45 * This constructor iterates over [keys] and [values] and maps each element of | 45 * This constructor iterates over [keys] and [values] and maps each element of |
| 46 * [keys] to the corresponding element of [values]. | 46 * [keys] to the corresponding element of [values]. |
| 47 * | 47 * |
| 48 * If [keys] contains the same object multiple times, the last occurrence | 48 * If [keys] contains the same object multiple times, the last occurrence |
| 49 * overwrites the previous value. | 49 * overwrites the previous value. |
| 50 * | 50 * |
| 51 * It is an error if the two [Iterable]s don't have the same length. | 51 * It is an error if the two [Iterable]s don't have the same length. |
| 52 */ | 52 */ |
| 53 factory Map.fromIterables(Iterable<K> keys, Iterable<V> values) | 53 factory Map.fromIterables(Iterable<K> keys, Iterable<V> values) |
| 54 = LinkedHashMap<K, V>.fromIterables; | 54 = HashMap<K, V>.fromIterables; |
| 55 | 55 |
| 56 /** | 56 /** |
| 57 * Returns true if this map contains the given value. | 57 * Returns true if this map contains the given value. |
| 58 */ | 58 */ |
| 59 bool containsValue(Object value); | 59 bool containsValue(Object value); |
| 60 | 60 |
| 61 /** | 61 /** |
| 62 * Returns true if this map contains the given key. | 62 * Returns true if this map contains the given key. |
| 63 */ | 63 */ |
| 64 bool containsKey(Object key); | 64 bool containsKey(Object key); |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 /** | 135 /** |
| 136 * Returns true if there is no {key, value} pair in the map. | 136 * Returns true if there is no {key, value} pair in the map. |
| 137 */ | 137 */ |
| 138 bool get isEmpty; | 138 bool get isEmpty; |
| 139 | 139 |
| 140 /** | 140 /** |
| 141 * Returns true if there is at least one {key, value} pair in the map. | 141 * Returns true if there is at least one {key, value} pair in the map. |
| 142 */ | 142 */ |
| 143 bool get isNotEmpty; | 143 bool get isNotEmpty; |
| 144 } | 144 } |
| OLD | NEW |