- java.lang.Object
-
- javafx.beans.binding.ListExpression<E>
-
- 参数类型
-
E
-List
元素的类型。
- All Implemented Interfaces:
-
Iterable<E>
,Collection<E>
,List<E>
,Observable
,ObservableListValue<E>
,ObservableObjectValue<E>
,ObservableValue<E>
,ObservableList<E>
- 已知直接子类:
-
ListBinding
,ReadOnlyListProperty
public abstract class ListExpression<E> extends Object implements ObservableListValue<E>
ListExpression
是一个ObservableListValue
加上额外的便利方法,以流利的风格生成绑定。一个具体的子类
ListExpression
必须实现方法ObservableObjectValue.get()
,它提供了这个表达式的实际值。如果
ListExpression
的包装列表为null
,则实现List
接口的所有方法将表现为将其应用于不可变的空列表。- 从以下版本开始:
- JavaFX 2.1
-
-
Property Summary
Properties Type Property 描述 abstract ReadOnlyBooleanProperty
empty
一个布尔属性,如果列表为空,则为true
。abstract ReadOnlyIntegerProperty
size
表示列表大小的整数属性。
-
构造方法摘要
构造方法 Constructor 描述 ListExpression()
-
方法摘要
所有方法 静态方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 void
add(int i, E element)
将指定的元素插入此列表中的指定位置(可选操作)。boolean
add(E element)
将指定的元素追加到此列表的末尾(可选操作)。boolean
addAll(int i, Collection<? extends E> elements)
将指定集合中的所有元素插入到此列表中的指定位置(可选操作)。boolean
addAll(E... elements)
用于var-arg添加元素的方便方法。boolean
addAll(Collection<? extends E> elements)
按指定集合的迭代器(可选操作)返回的顺序将指定集合中的所有元素附加到此列表的末尾。StringBinding
asString()
创建一个StringBinding
,其价值ListExpression
变成String
。void
clear()
从此列表中删除所有元素(可选操作)。boolean
contains(Object obj)
如果此列表包含指定的元素,则返回true
。boolean
containsAll(Collection<?> objects)
如果此列表包含指定集合的所有元素,则返回true
。abstract ReadOnlyBooleanProperty
emptyProperty()
一个布尔属性,如果列表为空,则为true
。E
get(int i)
返回此列表中指定位置的元素。int
getSize()
列表的大小ObservableList<E>
getValue()
返回此ObservableValue
的当前值int
indexOf(Object obj)
返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。boolean
isEmpty()
获取属性的值为空。BooleanBinding
isEqualTo(ObservableList<?> other)
创建一个新的BooleanBinding
持有true
如果此列表等于另一个ObservableList
。BooleanBinding
isNotEqualTo(ObservableList<?> other)
创建一个新的BooleanBinding
持有true
如果此列表不等于另一个ObservableList
。BooleanBinding
isNotNull()
创建一个新的BooleanBinding
持有true
如果包装列表不null
。BooleanBinding
isNull()
创建一个新的BooleanBinding
持有true
如果包装列表为null
。Iterator<E>
iterator()
以正确的顺序返回该列表中的元素的迭代器。int
lastIndexOf(Object obj)
返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。static <E> ListExpression<E>
listExpression(ObservableListValue<E> value)
返回一个ListExpression
的ListExpression 。ListIterator<E>
listIterator()
返回列表中的列表迭代器(按适当的顺序)。ListIterator<E>
listIterator(int i)
从列表中的指定位置开始,返回列表中的元素(按正确顺序)的列表迭代器。E
remove(int i)
删除该列表中指定位置的元素(可选操作)。void
remove(int from, int to)
一种调用sublist(from, to).clear()
简化方法。boolean
remove(Object obj)
从列表中删除指定元素的第一个出现(如果存在)(可选操作)。boolean
removeAll(E... elements)
一种方便的方法,用于var-arg使用的removeAll
方法。boolean
removeAll(Collection<?> objects)
从此列表中删除包含在指定集合中的所有元素(可选操作)。boolean
retainAll(E... elements)
boolean
retainAll(Collection<?> objects)
仅保留此列表中包含在指定集合中的元素(可选操作)。E
set(int i, E element)
用指定的元素(可选操作)替换此列表中指定位置的元素。boolean
setAll(E... elements)
清除ObservableList并添加所有传递给var-args的元素。boolean
setAll(Collection<? extends E> elements)
清除ObservableList并添加集合中的所有元素。int
size()
返回此列表中的元素数。abstract ReadOnlyIntegerProperty
sizeProperty()
表示列表大小的整数属性。List<E>
subList(int from, int to)
返回指定的fromIndex
(包括)和toIndex
之间的列表部分的视图。Object[]
toArray()
以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组。<T> T[]
toArray(T[] array)
以正确的顺序返回一个包含此列表中所有元素的数组(从第一个到最后一个元素); 返回的数组的运行时类型是指定数组的运行时类型。ObjectBinding<E>
valueAt(int index)
创建一个新的ObjectBinding
,其中包含指定位置的元素。ObjectBinding<E>
valueAt(ObservableIntegerValue index)
创建一个新的ObjectBinding
,其中包含指定位置的元素。-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream
-
Methods inherited from interface java.util.List
equals, hashCode, of, of, of, of, of, of, of, of, of, of, of, of, replaceAll, sort, spliterator
-
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.ObservableList
addListener, filtered, removeListener, sorted, sorted
-
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 ObservableList<E> getValue()
说明从接口ObservableValue
复制返回此ObservableValue
的当前值- Specified by:
-
getValue
在接口ObservableValue<E>
- 结果
- 当前值
-
listExpression
public static <E> ListExpression<E> listExpression(ObservableListValue<E> value)
返回一个ListExpression
的ListExpression 。 如果ObservableListValue
已经是ListExpression
,它将被退回。 否则,新的ListBinding
被创建,绑定到ObservableListValue
。- 参数类型
-
E
- 包装的类型List
- 参数
-
value
- 来源ObservableListValue
- 结果
-
一个
ListExpression
包装了ObservableListValue
如果有必要 - 异常
-
NullPointerException
- 如果value
是null
-
getSize
public int getSize()
列表的大小- 结果
- 尺寸
-
sizeProperty
public abstract ReadOnlyIntegerProperty sizeProperty()
表示列表大小的整数属性。- 另请参见:
-
getSize()
-
emptyProperty
public abstract ReadOnlyBooleanProperty emptyProperty()
一个布尔属性,如果列表为空,则为true
。- 另请参见:
-
isEmpty()
-
valueAt
public ObjectBinding<E> valueAt(int index)
创建一个新的ObjectBinding
,其中包含指定位置的元素。 如果index
点在后面,ObjectBinding
包含null
。- 参数
-
index
- 元素的索引 - 结果
-
ObjectBinding
- 异常
-
IllegalArgumentException
- 如果是index < 0
-
valueAt
public ObjectBinding<E> valueAt(ObservableIntegerValue index)
创建一个新的ObjectBinding
,其中包含指定位置的元素。 如果index
点以外的列表中,ObjectBinding
包含null
。- 参数
-
index
- 元素的索引 - 结果
-
ObjectBinding
- 异常
-
NullPointerException
- 如果index
是null
-
isEqualTo
public BooleanBinding isEqualTo(ObservableList<?> other)
创建一个新的BooleanBinding
持有true
如果此列表等于另一个ObservableList
。- 参数
-
other
- 其他ObservableList
- 结果
-
新的
BooleanBinding
- 异常
-
NullPointerException
- 如果other
是null
-
isNotEqualTo
public BooleanBinding isNotEqualTo(ObservableList<?> other)
创建一个新的BooleanBinding
持有true
如果此列表不等于另一个ObservableList
。- 参数
-
other
- 其他ObservableList
- 结果
-
新的
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
持有的价值ListExpression
变成了String
。 如果这个值ListExpression
的变化,价值StringBinding
将自动更新。- 结果
-
新的
StringBinding
-
size
public int size()
说明从接口List
复制返回此列表中的元素数。 如果此列表包含超过Integer.MAX_VALUE
元素,则返回Integer.MAX_VALUE
。
-
isEmpty
public boolean isEmpty()
获取属性的值为空。
-
contains
public boolean contains(Object obj)
描述从界面List
复制如果此列表包含指定的元素,则返回true
。 更正式地说,返回true
当且仅当此列表包含至少一个元素e
这样Objects.equals(o, e)
。
-
toArray
public Object[] toArray()
说明从接口List
复制以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组。返回的数组将是“安全的”,因为该列表不保留对它的引用。 (换句话说,即使这个列表被数组支持,这个方法也必须分配一个新的数组)。 因此,调用者可以自由地修改返回的数组。
此方法充当基于阵列和基于集合的API之间的桥梁。
- Specified by:
-
toArray
在接口Collection<E>
- Specified by:
-
toArray
在接口List<E>
- 结果
- 一个包含该列表中所有元素的数组的数组
- 另请参见:
-
Arrays.asList(Object[])
-
toArray
public <T> T[] toArray(T[] array)
说明从接口List
复制以正确的顺序返回一个包含此列表中所有元素的数组(从第一个到最后一个元素); 返回的数组的运行时类型是指定数组的运行时类型。 如果列表适合指定的数组,则返回其中。 否则,将为指定数组的运行时类型和此列表的大小分配一个新数组。如果列表适用于指定的数组,
null
空间(即,该数组具有比该列表更多的元素),那么紧随该列表结尾的数组中的元素将设置为null
。 (这仅在调用者知道列表不包含任何空元素的情况下才能确定列表的长度。)像
List.toArray()
方法一样,此方法充当基于阵列和基于集合的API之间的桥梁。 此外,该方法允许精确地控制输出阵列的运行时类型,并且在某些情况下可以用于节省分配成本。假设
x
是一个已知只包含字符串的列表。 以下代码可用于将列表转储到新分配的String
数组中:String[] y = x.toArray(new String[0]);
toArray(new Object[0])
功能与toArray()
相同。
-
add
public boolean add(E element)
说明从界面List
复制将指定的元素追加到此列表的末尾(可选操作)。支持此操作的列表可能会限制可能添加到此列表中的元素。 特别地,一些列表将拒绝添加null元素,而其他列表将对可能添加的元素的类型施加限制。 列表类应在其文档中明确指定可能添加哪些元素的限制。
- Specified by:
-
add
在接口Collection<E>
- Specified by:
-
add
在接口List<E>
- 参数
-
element
- 要附加到此列表的元素 - 结果
-
true
(由Collection.add(E)
指定)
-
remove
public boolean remove(Object obj)
说明从界面List
复制从列表中删除指定元素的第一个出现(如果存在)(可选操作)。 如果此列表不包含该元素,则它将保持不变。 更正式地,删除具有最低索引i
的元素,使得Objects.equals(o, get(i))
(如果这样的元素存在)。 如果此列表包含指定的元素(或等效地,如果此列表作为调用的结果而更改),则返回true
。
-
containsAll
public boolean containsAll(Collection<?> objects)
说明从界面List
复制如果此列表包含指定集合的所有元素,则返回true
。- Specified by:
-
containsAll
在接口Collection<E>
- Specified by:
-
containsAll
在接口List<E>
- 参数
-
objects
- 要在此列表中检查遏制的集合 - 结果
-
true
如果此列表包含指定集合的所有元素 - 另请参见:
-
List.contains(Object)
-
addAll
public boolean addAll(Collection<? extends E> elements)
描述从接口List
复制按指定集合的迭代器(可选操作)返回的顺序将指定集合中的所有元素附加到此列表的末尾。 如果在操作进行中修改了指定的集合,则此操作的行为是未定义的。 (注意,如果指定的集合是此列表,并且它是非空的,则会发生这种情况。)- Specified by:
-
addAll
在接口Collection<E>
- Specified by:
-
addAll
在接口List<E>
- 参数
-
elements
- 包含要添加到此列表的元素的集合 - 结果
-
true
如果此列表因呼叫而更改 - 另请参见:
-
List.add(Object)
-
addAll
public boolean addAll(int i, Collection<? extends E> elements)
说明从界面List
复制将指定集合中的所有元素插入到此列表中的指定位置(可选操作)。 将当前位于该位置(如果有的话)的元素和随后的任何元素移动到右边(增加其索引)。 新元素将按照指定集合的迭代器返回的顺序显示在此列表中。 如果在操作进行中修改了指定的集合,则此操作的行为是未定义的。 (注意,如果指定的集合是此列表,并且它是非空的,则会发生这种情况。)
-
removeAll
public boolean removeAll(Collection<?> objects)
说明从界面List
复制从此列表中删除包含在指定集合中的所有元素(可选操作)。- Specified by:
-
removeAll
在接口Collection<E>
- Specified by:
-
removeAll
在接口List<E>
- 参数
-
objects
- 包含要从此列表中删除的元素的集合 - 结果
-
true
如果此列表因呼叫而更改 - 另请参见:
-
List.remove(Object)
,List.contains(Object)
-
retainAll
public boolean retainAll(Collection<?> objects)
描述从接口List
复制仅保留此列表中包含在指定集合中的元素(可选操作)。 换句话说,从此列表中删除其中不包含在指定集合中的所有元素。- Specified by:
-
retainAll
在接口Collection<E>
- Specified by:
-
retainAll
在接口List<E>
- 参数
-
objects
- 包含要保留在此列表中的元素的集合 - 结果
-
true
如果此列表因呼叫而更改 - 另请参见:
-
List.remove(Object)
,List.contains(Object)
-
clear
public void clear()
说明从接口List
复制从此列表中删除所有元素(可选操作)。 此呼叫返回后,列表将为空。
-
add
public void add(int i, E element)
说明从界面List
复制将指定的元素插入此列表中的指定位置(可选操作)。 将当前位于该位置的元素(如果有)和任何后续元素(向其索引添加一个)移动。
-
remove
public E remove(int i)
说明从接口List
复制删除该列表中指定位置的元素(可选操作)。 将任何后续元素移动到左侧(从其索引中减去一个元素)。 返回从列表中删除的元素。
-
indexOf
public int indexOf(Object obj)
说明从接口List
复制返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。 更正式地,返回最低指数i
如Objects.equals(o, get(i))
,或-1如果没有这样的指数。
-
lastIndexOf
public int lastIndexOf(Object obj)
描述从接口List
复制返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。 更正式地说,返回满足i
这样Objects.equals(o, get(i))
,或-1,如果没有这样的指标。- Specified by:
-
lastIndexOf
在接口List<E>
- 参数
-
obj
- 要搜索的元素 - 结果
- 此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则为-1
-
listIterator
public ListIterator<E> listIterator()
说明从接口List
复制返回列表中的列表迭代器(按适当的顺序)。- Specified by:
-
listIterator
在接口List<E>
- 结果
- 在列表中的元素的列表迭代器(按适当的顺序)
-
listIterator
public ListIterator<E> listIterator(int i)
说明从界面List
复制- Specified by:
-
listIterator
在接口List<E>
- 参数
-
i
- 要从列表迭代器返回的第一个元素的索引(通过调用next
) - 结果
- 在列表中的元素(按正确顺序)的列表迭代器,从列表中的指定位置开始
-
subList
public List<E> subList(int from, int to)
说明从接口List
复制返回指定的fromIndex
(含)和toIndex
之间的列表部分的视图。 (如果fromIndex
和toIndex
相等,返回的列表为空。)返回的列表由此列表支持,因此返回列表中的非结构性更改将反映在此列表中,反之亦然。 返回的列表支持此列表支持的所有可选列表操作。该方法消除了对显式范围操作(对于数组通常存在的排序)的需要。 任何期望列表的操作都可以通过传递一个子列表视图而不是整个列表来用作范围操作。 例如,以下成语从列表中移除了一系列元素:
list.subList(from, to).clear();
indexOf
和lastIndexOf
构造类似的成语,并且可以将Collections
类中的所有算法应用于子列表。如果支持列表(即,此列表)以除了通过返回的列表之外的任何方式进行结构修改 ,则此方法返回的列表的语义将变为未定义。 (结构修改是那些改变此列表的大小,或以其他方式扰乱它,使得正在进行的迭代可能产生不正确的结果)。
-
addAll
public boolean addAll(E... elements)
说明从接口ObservableList
复制用于var-arg添加元素的方便方法。- Specified by:
-
addAll
在接口ObservableList<E>
- 参数
-
elements
- 要添加的元素 - 结果
- true(由Collection.add(E)指定)
-
setAll
public boolean setAll(E... elements)
说明从界面ObservableList
复制清除ObservableList并添加所有传递给var-args的元素。- Specified by:
-
setAll
在接口ObservableList<E>
- 参数
-
elements
- 要设置的元素 - 结果
- true(由Collection.add(E)指定)
-
setAll
public boolean setAll(Collection<? extends E> elements)
说明从界面ObservableList
复制清除ObservableList并添加集合中的所有元素。- Specified by:
-
setAll
在接口ObservableList<E>
- 参数
-
elements
- 将添加到此observableArrayList的元素的集合 - 结果
- true(由Collection.add(E)指定)
-
removeAll
public boolean removeAll(E... elements)
说明从接口ObservableList
复制一个方便的方法,用于var-arg使用的removeAll
方法。- Specified by:
-
removeAll
在接口ObservableList<E>
- 参数
-
elements
- 要删除的元素 - 结果
- 如果列表因此调用而更改,则为true
-
retainAll
public boolean retainAll(E... elements)
说明从界面ObservableList
复制- Specified by:
-
retainAll
在接口ObservableList<E>
- 参数
-
elements
- 要保留的元素 - 结果
- 如果列表因此调用而更改,则为true
-
remove
public void remove(int from, int to)
说明从界面ObservableList
复制一种调用sublist(from, to).clear()
简化方法。 由于这是一个常见的操作,ObservableList具有方便使用的方法。- Specified by:
-
remove
在接口ObservableList<E>
- 参数
-
from
- 要移除的范围的开始(含) -
to
- 要移除的范围的结束(排他)
-
-