- java.lang.Object
-
- javafx.beans.binding.SetExpression<E>
-
- 参数类型
-
E
-Set
元素的类型
- All Implemented Interfaces:
-
Iterable<E>
,Collection<E>
,Set<E>
,Observable
,ObservableObjectValue<E>
,ObservableSetValue<E>
,ObservableValue<E>
,ObservableSet<E>
- 已知直接子类:
-
ReadOnlySetProperty
,SetBinding
public abstract class SetExpression<E> extends Object implements ObservableSetValue<E>
SetExpression
是一个ObservableSetValue
加上额外的便利方法,以流利的风格生成绑定。SetExpression
具体子类必须实现方法ObservableObjectValue.get()
,它提供了这个表达式的实际值。如果
SetExpression
的包装列表是null
,那么实现Set
接口的所有方法将表现得像应用于不可变的空集。- 从以下版本开始:
- JavaFX 2.1
-
-
Property Summary
Properties Type Property 描述 abstract ReadOnlyBooleanProperty
empty
一个布尔属性,如果该集合为空,则为true
。abstract ReadOnlyIntegerProperty
size
表示集合大小的整数属性。
-
构造方法摘要
构造方法 Constructor 描述 SetExpression()
-
方法摘要
所有方法 静态方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 boolean
add(E element)
如果指定的元素不存在,则将其指定的元素添加(可选操作)。boolean
addAll(Collection<? extends E> elements)
将指定集合中的所有元素添加到此集合(如果尚未存在)(可选操作)。StringBinding
asString()
创建一个StringBinding
持有的价值SetExpression
变成了String
。void
clear()
从此集合中删除所有元素(可选操作)。boolean
contains(Object obj)
如果此集合包含指定的元素,则返回true
。boolean
containsAll(Collection<?> objects)
如果此集合包含指定集合的所有元素,则返回true
。abstract ReadOnlyBooleanProperty
emptyProperty()
一个布尔属性是true
,如果该集合是空的。int
getSize()
集合的大小ObservableSet<E>
getValue()
返回此ObservableValue
的当前值boolean
isEmpty()
获取属性的值为空。BooleanBinding
isEqualTo(ObservableSet<?> other)
创建一个新的BooleanBinding
持有true
如果此集合等于另一个ObservableSet
。BooleanBinding
isNotEqualTo(ObservableSet<?> other)
创建一个新的BooleanBinding
持有true
如果此集合不等于另一个ObservableSet
。BooleanBinding
isNotNull()
创建一个新的BooleanBinding
持有true
如果包装集不是null
。BooleanBinding
isNull()
创建一个新的BooleanBinding
持有true
如果包装集为null
。Iterator<E>
iterator()
返回此集合中元素的迭代器。boolean
remove(Object obj)
如果存在,则从该集合中删除指定的元素(可选操作)。boolean
removeAll(Collection<?> objects)
从此集合中删除指定集合中包含的所有元素(可选操作)。boolean
retainAll(Collection<?> objects)
仅保留该集合中包含在指定集合中的元素(可选操作)。static <E> SetExpression<E>
setExpression(ObservableSetValue<E> value)
返回一个SetExpression
,其中包含一个ObservableSetValue
。int
size()
返回此集合中的元素数(其基数)。abstract ReadOnlyIntegerProperty
sizeProperty()
表示集合大小的整数属性。Object[]
toArray()
返回一个包含此集合中所有元素的数组。<T> T[]
toArray(T[] array)
返回一个包含此集合中所有元素的数组; 返回的数组的运行时类型是指定数组的运行时类型。-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream
-
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.beans.value.ObservableObjectValue
get
-
Methods inherited from interface javafx.collections.ObservableSet
addListener, removeListener
-
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 ObservableSet<E> getValue()
说明从接口ObservableValue
复制返回此ObservableValue
的当前值- Specified by:
-
getValue
在接口ObservableValue<E>
- 结果
- 当前值
-
setExpression
public static <E> SetExpression<E> setExpression(ObservableSetValue<E> value)
返回一个SetExpression
,其中包含一个ObservableSetValue
。 如果ObservableSetValue
已经是SetExpression
,它将被返回。 否则,新的SetBinding
被创建绑定到ObservableSetValue
。- 参数类型
-
E
-Set
元素的类型 - 参数
-
value
- 来源ObservableSetValue
- 结果
-
A
SetExpression
,如果需要,则包装ObservableSetValue
- 异常
-
NullPointerException
- 如果value
是null
-
getSize
public int getSize()
集合的大小- 结果
- 尺寸
-
sizeProperty
public abstract ReadOnlyIntegerProperty sizeProperty()
表示集合大小的整数属性。- 另请参见:
-
getSize()
-
emptyProperty
public abstract ReadOnlyBooleanProperty emptyProperty()
一个布尔属性,即true
,如果该集合是空的。- 另请参见:
-
isEmpty()
-
isEqualTo
public BooleanBinding isEqualTo(ObservableSet<?> other)
创建一个新的BooleanBinding
持有true
如果此集合等于另一个ObservableSet
。- 参数
-
other
- 其他ObservableSet
- 结果
-
新的
BooleanBinding
- 异常
-
NullPointerException
- 如果other
是null
-
isNotEqualTo
public BooleanBinding isNotEqualTo(ObservableSet<?> other)
创建一个新的BooleanBinding
持有true
如果此集合不等于另一个ObservableSet
。- 参数
-
other
- 其他ObservableSet
- 结果
-
新的
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
持有的价值SetExpression
变成了String
。 如果这个值SetExpression
的变化,价值StringBinding
将自动更新。- 结果
-
新的
StringBinding
-
size
public int size()
描述从接口Set
复制返回此集合中的元素数(其基数)。 如果这个集合包含Integer.MAX_VALUE
元素,返回Integer.MAX_VALUE
。
-
isEmpty
public boolean isEmpty()
获取属性的值为空。
-
contains
public boolean contains(Object obj)
描述从接口Set
复制如果此集合包含指定的元素,则返回true
。 更正式地说,返回true
当且仅当此set包含的元素e
这样Objects.equals(o, e)
。
-
toArray
public Object[] toArray()
描述从接口Set
复制返回一个包含此集合中所有元素的数组。 如果此集合对其迭代器返回的元素的顺序做出任何保证,则此方法必须以相同的顺序返回元素。返回的数组将是“安全的”,因为该集合不保留对它的引用。 (换句话说,这个方法必须分配一个新的数组,即使这个数组是由数组支持的)。 因此,调用者可以自由地修改返回的数组。
此方法充当基于阵列和基于集合的API之间的桥梁。
-
toArray
public <T> T[] toArray(T[] array)
描述从接口Set
复制返回一个包含此集合中所有元素的数组; 返回的数组的运行时类型是指定数组的运行时类型。 如果集合适合指定的数组,则返回其中。 否则,将为指定数组的运行时类型和此集合的大小分配一个新数组。如果这个集合适合指定的数组,有空余的空间(即,该数组的元素比此集更多),紧接着该集合结束后的数组中的元素设置为
null
。 (这仅在调用者知道此集合不包含任何空元素时才可用于确定此集合的长度。)如果此集合对其迭代器返回的元素的顺序做出任何保证,则此方法必须以相同的顺序返回元素。
像
Set.toArray()
方法一样,此方法充当基于数组和基于集合的API之间的桥梁。 此外,该方法允许精确地控制输出阵列的运行时类型,并且在某些情况下可以用于节省分配成本。假设
x
是一个已知只包含字符串的集合。 以下代码可用于将集合转储到新分配的String
数组中:String[] y = x.toArray(new String[0]);
请注意,toArray(new Object[0])
功能与toArray()
相同。
-
add
public boolean add(E element)
说明从接口Set
复制如果指定的元素不存在,则将其指定的元素添加(可选操作)。 更正式地,将指定的元素e
这一套如果集合不包含元素e2
这样Objects.equals(e, e2)
。 如果该集合已经包含该元素,则该呼叫将保持不变,并返回false
。 结合对构造函数的限制,这样可以确保集合不会包含重复的元素。上述规定并不意味着集合必须接受所有要素; 集合可以拒绝添加任何特定元素,包括
null
,并抛出异常,如Collection.add
的规范中所述 。 单个集合实现应清楚地记录对它们可能包含的元素的任何限制。
-
remove
public boolean remove(Object obj)
描述从接口Set
复制如果存在,则从该集合中删除指定的元素(可选操作)。 更正式地,删除元素e
使Objects.equals(o, e)
,如果这个集合包含这样的元素。 如果此集合包含元素(或等效地,如果此集合作为调用的结果而更改),则返回true
。 (一旦调用返回,此集合将不包含该元素。)
-
containsAll
public boolean containsAll(Collection<?> objects)
描述从接口Set
复制如果此集合包含指定集合的所有元素,则返回true
。 如果指定的集合也是一个集合,则该方法返回true
如果它是该集合的子集)。- Specified by:
-
containsAll
在接口Collection<E>
- Specified by:
-
containsAll
在接口Set<E>
- 参数
-
objects
- 要在此集合中检查遏制的集合 - 结果
-
true
如果此集合包含指定集合的所有元素 - 另请参见:
-
Set.contains(Object)
-
addAll
public boolean addAll(Collection<? extends E> elements)
描述从接口Set
复制将指定集合中的所有元素添加到此集合(如果尚未存在)(可选操作)。 如果指定的集合也是集合,则addAll
操作有效地修改该集合,使其值是两个集合的并集。 如果在操作进行中修改了指定的集合,则此操作的行为是未定义的。- Specified by:
-
addAll
在接口Collection<E>
- Specified by:
-
addAll
在接口Set<E>
- 参数
-
elements
- 包含要添加到此集合的元素的集合 - 结果
-
true
如果此设置由于呼叫而更改 - 另请参见:
-
Set.add(Object)
-
removeAll
public boolean removeAll(Collection<?> objects)
描述从接口Set
复制从此集合中删除指定集合中包含的所有元素(可选操作)。 如果指定的集合也是集合,则该操作有效地修改该集合,使其值是两组的非对称集合差异 。- Specified by:
-
removeAll
在接口Collection<E>
- Specified by:
-
removeAll
在接口Set<E>
- 参数
-
objects
- 包含要objects
集合中删除的元素的集合 - 结果
-
true
如果此设置由于呼叫而更改 - 另请参见:
-
Set.remove(Object)
,Set.contains(Object)
-
retainAll
public boolean retainAll(Collection<?> objects)
说明从界面Set
复制仅保留该集合中包含在指定集合中的元素(可选操作)。 换句话说,从这个集合中删除它不包含在指定集合中的所有元素。 如果指定的集合也是一个集合,则此操作有效地修改该集合,使其值是两组的交集 。- Specified by:
-
retainAll
在接口Collection<E>
- Specified by:
-
retainAll
在接口Set<E>
- 参数
-
objects
- 包含要保留在此集合中的元素的集合 - 结果
-
true
如果此设置由于呼叫而更改 - 另请参见:
-
Set.remove(Object)
-
-