Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(365)

Side by Side Diff: sdk/lib/core/map.dart

Issue 18072004: Add fromIterable(s) constructors in SplayTreeMap and LinkedHashMap. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Removed long line. Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 [Map] is an associative container, mapping a key to a value. 8 * A [Map] is an associative container, mapping a key to a value.
9 * Null values are supported, but null keys are not. 9 * Null values are supported, but null keys are not.
10 */ 10 */
11 abstract class Map<K, V> { 11 abstract class Map<K, V> {
12 /** 12 /**
13 * Creates a map with the default implementation. 13 * Creates a map with the default implementation.
14 */ 14 */
15 factory Map() => new HashMap<K, V>(); 15 factory Map() => new HashMap<K, V>();
16 16
17 /** 17 /**
18 * Creates a [Map] that contains all key value pairs of [other]. 18 * Creates a [Map] that contains all key value pairs of [other].
19 */ 19 */
20 factory Map.from(Map<K, V> other) => new HashMap<K, V>.from(other); 20 factory Map.from(Map<K, V> other) => new HashMap<K, V>.from(other);
21 21
22 /** 22 /**
23 * Creates a [Map] associating the given [keys] to [values].
24 *
25 * This constructor iterates over [keys] and [values] and maps each element of
26 * [keys] to the corresponding element of [values].
27 *
28 * If [keys] contains the same object multiple times, the last occurrence
29 * overwrites the previous value.
30 *
31 * It is an error if the two [Iterable]s don't have the same length.
32 */
33 factory Map.fromIterables(Iterable<K> keys, Iterable<V> values)
34 = HashMap<K, V>.fromIterables;
35
36 /**
37 * Creates a [Map] where the keys and values are computed from the [iterable]. 23 * Creates a [Map] where the keys and values are computed from the [iterable].
38 * 24 *
39 * For each element of the [iterable] this constructor computes a key/value 25 * For each element of the [iterable] this constructor computes a key/value
40 * pair, by applying [key] and [value] respectively. 26 * pair, by applying [key] and [value] respectively.
41 * 27 *
42 * The keys of the key/value pairs do not need to be unique. The last 28 * The keys of the key/value pairs do not need to be unique. The last
43 * occurrence of a key will simply overwrite any previous value. 29 * occurrence of a key will simply overwrite any previous value.
44 * 30 *
45 * If no values are specified for [key] and [value] the default is the 31 * If no values are specified for [key] and [value] the default is the
46 * identity function. 32 * identity function.
47 */ 33 */
48 factory Map.fromIterable(Iterable iterable, 34 factory Map.fromIterable(Iterable<K> iterable,
49 {K key(element), V value(element)}) = HashMap<K, V>.fromIterable; 35 {K key(element), V value(element)}) = HashMap<K, V>.fromIterable;
50 36
51 /** 37 /**
38 * Creates a [Map] associating the given [keys] to [values].
39 *
40 * This constructor iterates over [keys] and [values] and maps each element of
41 * [keys] to the corresponding element of [values].
42 *
43 * If [keys] contains the same object multiple times, the last occurrence
44 * overwrites the previous value.
45 *
46 * It is an error if the two [Iterable]s don't have the same length.
47 */
48 factory Map.fromIterables(Iterable<K> keys, Iterable<V> values)
49 = HashMap<K, V>.fromIterables;
50
51 /**
52 * Returns whether this map contains the given [value]. 52 * Returns whether this map contains the given [value].
53 */ 53 */
54 bool containsValue(Object value); 54 bool containsValue(Object value);
55 55
56 /** 56 /**
57 * Returns whether this map contains the given [key]. 57 * Returns whether this map contains the given [key].
58 */ 58 */
59 bool containsKey(Object key); 59 bool containsKey(Object key);
60 60
61 /** 61 /**
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 /** 130 /**
131 * Returns true if there is no {key, value} pair in the map. 131 * Returns true if there is no {key, value} pair in the map.
132 */ 132 */
133 bool get isEmpty; 133 bool get isEmpty;
134 134
135 /** 135 /**
136 * Returns true if there is at least one {key, value} pair in the map. 136 * Returns true if there is at least one {key, value} pair in the map.
137 */ 137 */
138 bool get isNotEmpty; 138 bool get isNotEmpty;
139 } 139 }
OLDNEW
« no previous file with comments | « sdk/lib/collection/splay_tree.dart ('k') | tests/corelib/linked_hash_map_from_iterable_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698