- java.lang.Object
-
- javafx.beans.binding.MapExpression<K,V>
-
- 参数类型
-
K
- 关键元素的类型 -
V
- 值元素的类型
- All Implemented Interfaces:
-
Map<K,V>
,Observable
,ObservableMapValue<K,V>
,ObservableObjectValue<K>
,ObservableValue<K>
,ObservableMap<K,V>
- 已知直接子类:
-
MapBinding
,ReadOnlyMapProperty
public abstract class MapExpression<K,V> extends Object implements ObservableMapValue<K,V>
MapExpression
是一个ObservableMapValue
加上额外的便利方法,以流利的风格生成绑定。一个具体的子类
MapExpression
必须实现方法ObservableObjectValue.get()
,它提供了这个表达式的实际值。如果
MapExpression
的包装列表为null
,则实现Map
界面的所有方法将表现为将其应用于不可变的空列表。- 从以下版本开始:
- JavaFX 2.1
-
-
Property Summary
Properties Type Property 描述 abstract ReadOnlyBooleanProperty
empty
一个布尔属性是true
,如果地图是空的。abstract ReadOnlyIntegerProperty
size
表示地图大小的整数属性。
-
构造方法摘要
构造方法 Constructor 描述 MapExpression()
-
方法摘要
所有方法 静态方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 StringBinding
asString()
创建一个StringBinding
持有的价值MapExpression
变成了String
。void
clear()
从该地图中删除所有的映射(可选操作)。boolean
containsKey(Object obj)
如果此映射包含指定键的映射,则返回true
。boolean
containsValue(Object obj)
如果此映射将一个或多个键映射到指定的值,则返回true
。abstract ReadOnlyBooleanProperty
emptyProperty()
一个布尔属性是true
,如果地图是空的。Set<Map.Entry<K,V>>
entrySet()
返回此地图中包含的映射的Set
视图。V
get(Object key)
返回指定键映射到的值,如果此映射不包含键的映射,则返回null
。int
getSize()
地图的大小ObservableMap<K,V>
getValue()
返回此ObservableValue
的当前值boolean
isEmpty()
获取属性的值为空。BooleanBinding
isEqualTo(ObservableMap<?,?> other)
创建一个新的BooleanBinding
持有true
如果此映射等于另一个ObservableMap
。BooleanBinding
isNotEqualTo(ObservableMap<?,?> other)
创建一个新的BooleanBinding
持有true
如果此映射不等于另一个ObservableMap
。BooleanBinding
isNotNull()
创建一个新的BooleanBinding
持有true
如果包装地图不是null
。BooleanBinding
isNull()
创建一个新的BooleanBinding
持有true
如果包装映射为null
。Set<K>
keySet()
返回此地图中包含的键的Set
视图。static <K,V> MapExpression<K,V>
mapExpression(ObservableMapValue<K,V> value)
返回一个MapExpression
的MapExpression 。V
put(K key, V value)
将指定的值与该映射中的指定键相关联(可选操作)。void
putAll(Map<? extends K,? extends V> elements)
将指定地图的所有映射复制到此映射(可选操作)。V
remove(Object obj)
如果存在(从可选的操作),从该地图中删除一个键的映射。int
size()
返回此地图中键值映射的数量。abstract ReadOnlyIntegerProperty
sizeProperty()
表示地图大小的整数属性。ObjectBinding<V>
valueAt(ObservableValue<K> key)
创建一个包含指定键的映射的新的ObjectBinding
。ObjectBinding<V>
valueAt(K key)
创建一个新的ObjectBinding
,其中包含指定键的映射。Collection<V>
values()
返回此地图中包含的值的Collection
视图。-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, entry, equals, forEach, getOrDefault, hashCode, merge, of, of, of, of, of, of, of, of, of, of, of, ofEntries, putIfAbsent, remove, replace, replace, replaceAll
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface javafx.beans.Observable
addListener, removeListener
-
Methods inherited from interface javafx.collections.ObservableMap
addListener, removeListener
-
Methods inherited from interface javafx.beans.value.ObservableObjectValue
get
-
Methods inherited from interface javafx.beans.value.ObservableValue
addListener, removeListener
-
-
-
-
Property Detail
-
size
public abstract ReadOnlyIntegerProperty sizeProperty
表示地图大小的整数属性。- 另请参见:
-
getSize()
-
empty
public abstract ReadOnlyBooleanProperty emptyProperty
一个布尔属性是true
,如果地图是空的。- 另请参见:
-
isEmpty()
-
-
方法详细信息
-
getValue
public ObservableMap<K,V> getValue()
说明从界面ObservableValue
复制返回此ObservableValue
的当前值- Specified by:
-
getValue
在接口ObservableValue<K>
- 结果
- 当前值
-
mapExpression
public static <K,V> MapExpression<K,V> mapExpression(ObservableMapValue<K,V> value)
返回一个MapExpression
,其中包含一个ObservableMapValue
。 如果ObservableMapValue
已经是MapExpression
,它将被返回。 否则,一个新的MapBinding
被创建绑定到ObservableMapValue
。- 参数类型
-
K
- 关键元素的类型 -
V
- 值元素的类型 - 参数
-
value
- 来源ObservableMapValue
- 结果
-
一个
MapExpression
包装了ObservableMapValue
如果有必要 - 异常
-
NullPointerException
- 如果value
是null
-
getSize
public int getSize()
地图的大小- 结果
- 尺寸
-
sizeProperty
public abstract ReadOnlyIntegerProperty sizeProperty()
表示地图大小的整数属性。- 另请参见:
-
getSize()
-
emptyProperty
public abstract ReadOnlyBooleanProperty emptyProperty()
一个布尔属性是true
,如果地图是空的。- 另请参见:
-
isEmpty()
-
valueAt
public ObjectBinding<V> valueAt(K key)
创建一个新的ObjectBinding
,其中包含指定键的映射。- 参数
-
key
- 映射的关键 - 结果
-
ObjectBinding
-
valueAt
public ObjectBinding<V> valueAt(ObservableValue<K> key)
创建一个新的ObjectBinding
,其中包含指定键的映射。- 参数
-
key
- 映射的关键 - 结果
-
ObjectBinding
- 异常
-
NullPointerException
- 如果key
是null
-
isEqualTo
public BooleanBinding isEqualTo(ObservableMap<?,?> other)
创建一个新的BooleanBinding
持有true
如果此映射等于另一个ObservableMap
。- 参数
-
other
- 其他ObservableMap
- 结果
-
新的
BooleanBinding
- 异常
-
NullPointerException
- 如果other
是null
-
isNotEqualTo
public BooleanBinding isNotEqualTo(ObservableMap<?,?> other)
创建一个新的BooleanBinding
持有true
如果此映射不等于另一个ObservableMap
。- 参数
-
other
- 其他ObservableMap
- 结果
-
新的
BooleanBinding
- 异常
-
NullPointerException
- 如果other
是null
-
isNull
public BooleanBinding isNull()
创建一个新的BooleanBinding
持有true
如果包装映射为null
。- 结果
-
新的
BooleanBinding
-
isNotNull
public BooleanBinding isNotNull()
创建一个新的BooleanBinding
持有true
如果包装地图不是null
。- 结果
-
新的
BooleanBinding
-
asString
public StringBinding asString()
创建一个StringBinding
持有的价值MapExpression
变成了String
。 如果这个值MapExpression
的变化,价值StringBinding
将自动更新。- 结果
-
新的
StringBinding
-
size
public int size()
说明从接口Map
复制返回此地图中键值映射的数量。 如果地图包含Integer.MAX_VALUE
元素,则返回Integer.MAX_VALUE
。
-
isEmpty
public boolean isEmpty()
获取属性的值为空。
-
containsKey
public boolean containsKey(Object obj)
说明从界面Map
复制如果此映射包含指定键的映射,则返回true
。 更正式地说,返回true
当且仅当此映射包含一个键的映射关系k
这样Objects.equals(key, k)
。 (最多可以有一个这样的映射。)- Specified by:
-
containsKey
在接口Map<K,V>
- 参数
-
obj
- 要在此地图中存在的密钥要进行测试 - 结果
-
true
如果此映射包含指定键的映射
-
containsValue
public boolean containsValue(Object obj)
说明从接口Map
复制如果此映射将一个或多个键映射到指定的值,则返回true
。 更正式地,返回true
当且仅当此映射包含的至少一个映射到一个值v
使得Objects.equals(value, v)
。 对于Map
接口的大多数实现,此操作可能需要在地图大小的时间线性。- Specified by:
-
containsValue
在接口Map<K,V>
- 参数
-
obj
- 要在此地图中存在的值要进行测试 - 结果
-
true
如果该地图将一个或多个键映射到指定的值
-
put
public V put(K key, V value)
说明从界面Map
复制将指定的值与该映射中的指定键相关联(可选操作)。 如果映射先前包含了密钥的映射,则旧值将被指定的值替换。 (如果且仅当m.containsKey(k)
将返回true
则映射m
被称为包含关键字k
的映射。)
-
remove
public V remove(Object obj)
说明从界面Map
复制如果存在(从可选的操作),从该地图中删除一个键的映射。 更正式地,如果此映射包含从k
键到值v
的映射,使得Objects.equals(key, k)
删除该映射。 (地图最多可以包含一个这样的映射。)返回此映射先前关联密钥的值,或
null
如果映射不包含关键字的映射。如果此映射允许空值,则返回值为
null
并不一定表示该映射不包含该键的映射; 地图也可能将密钥显式映射到null
。一旦呼叫返回,该映射将不包含指定键的映射。
-
clear
public void clear()
说明从界面Map
复制从该地图中删除所有的映射(可选操作)。 此呼叫返回后,地图将为空。
-
keySet
public Set<K> keySet()
说明从界面Map
复制返回此地图中包含的键的Set
视图。 该集合由地图支持,因此对地图的更改将反映在集合中,反之亦然。 如果在集合中的迭代正在进行中修改映射(除了通过迭代器自己的remove
操作),迭代的结果是未定义的。 该组支持元件移除,即从映射中相应的映射,经由Iterator.remove
,Set.remove
,removeAll
,retainAll
,和clear
操作。 它不支持add
或addAll
操作。
-
values
public Collection<V> values()
描述从界面Map
复制返回此地图中包含的值的Collection
视图。 集合由地图支持,因此对地图的更改将反映在集合中,反之亦然。 如果在集合中的迭代正在进行中修改映射(除了通过迭代器自己的remove
操作),迭代的结果是未定义的。 该collection支持元素移除,即从映射中相应的映射,经由Iterator.remove
,Collection.remove
,removeAll
,retainAll
和clear
操作。 它不支持add
或addAll
操作。
-
entrySet
public Set<Map.Entry<K,V>> entrySet()
描述从接口Map
复制返回此地图中包含的映射的Set
视图。 该集合由地图支持,因此对地图的更改将反映在集合中,反之亦然。 如果在集合中的迭代正在进行中修改映射(除了通过迭代器自己的remove
操作,或者通过迭代器返回的映射条目上的setValue
操作),迭代的结果是未定义的。 该组支持元件移除,即从映射中相应的映射,经由Iterator.remove
,Set.remove
,removeAll
,retainAll
和clear
操作。 它不支持add
或addAll
操作。
-
get
public V get(Object key)
描述从接口Map
复制返回指定键映射到的值,如果此映射不包含该键的映射,则返回null
。更正式地,如果此映射包含从密钥映射
k
到值v
使得Objects.equals(key, k)
,则此方法返回v
; 否则返回null
。 (最多可以有一个这样的映射。)如果此映射允许空值,则返回值为
null
并不一定表示该映射不包含该键的映射; 地图也可能显式地将密钥映射到null
。 可以使用containsKey
操作来区分这两种情况。
-
-