不可修改的MapView<K, V> 类
不允许修改Map的Map视图。
一个Map的包装器,将所有成员传递给构造函数中提供的Map,除了修改Map的操作。修改操作会抛出异常。
final baseMap = <int, String>{1: 'Mars', 2: 'Mercury', 3: 'Venus'};
final unmodifiableMapView = UnmodifiableMapView(baseMap);
// Remove an entry from the original map.
baseMap.remove(3);
print(unmodifiableMapView); // {1: Mars, 2: Mercury}
unmodifiableMapView.remove(1); // Throws.
构造函数
-
UnmodifiableMapView(
Map< )K, V> map
属性
-
entries → Iterable<
MapEntry< K, V> > - 此Map的条目。无setter继承
- hashCode → int
- 此对象的哈希码。无setter继承
- isEmpty → bool
- Map中是否没有键/值对。无setter继承
- isNotEmpty → bool
- Map中是否至少有一个键/值对。无setter继承
-
keys → Iterable<
K> - 此Map的键。无setter继承
- length → int
- Map中的键/值对数量。无setter继承
- runtimeType → Type
- 对象的运行时类型的表示。无setter继承
-
values → Iterable<
V> - 此Map的值。无setter继承
方法
-
addAll(
Map< ) → voidK, V> other - 不可修改的Map不支持此操作。继承
-
addEntries(
Iterable< MapEntry< entries) → voidK, V> > - 不可修改的Map不支持此操作。继承
-
cast<
RK, RV> () → Map< RK, RV> - 提供对这个映射视图,使其具有
RK
键和RV
实例,如果需要的话。override -
clear(
) → void - 不可修改的Map不支持此操作。继承
-
containsKey(
Object? key) → bool - 判断此映射是否包含给定的
key
。继承 -
containsValue(
Object? value) → bool - 判断此映射是否包含给定的
value
。继承 -
forEach(
void action(K key, V value)) → void - 对映射中的每个键/值对应用
action
。继承 -
map<
K2, V2> (MapEntry< ) → Map<K2, V2> transform(K key, V value)K2, V2> - 返回一个新映射,其中此映射的所有条目都通过给定的
convert
函数转换。继承 -
noSuchMethod(
Invocation invocation) → dynamic - 在访问不存在的方法或属性时被调用。继承
-
putIfAbsent(
K key, V ifAbsent()) → V - 不可修改的Map不支持此操作。继承
-
remove(
Object? key) → V? - 不可修改的Map不支持此操作。继承
-
removeWhere(
bool test(K key, V value)) → void - 不可修改的Map不支持此操作。继承
-
toString(
) → String - 此对象的字符串表示。继承
-
update(
K key, V update(V value), {V ifAbsent()?}) → V - 不可修改的Map不支持此操作。继承
-
updateAll(
V update(K key, V value)) → void - 不可修改的Map不支持此操作。继承
运算符
-
operator ==(
Object other) → bool - 等于运算符。继承
-
operator [](
Object? key) → V? - 给定
key
的值,如果key
不在映射中,则返回null
。继承 -
operator []=(
K key, V value) → void - 不可修改的Map不支持此操作。继承