Module  javafx.base
软件包  javafx.beans.binding

Class ListExpression<E>

    • 构造方法详细信息

      • ListExpression

        public ListExpression​()
    • 方法详细信息

      • listExpression

        public static <E> ListExpression<E> listExpression​(ObservableListValue<E> value)
        返回一个ListExpressionListExpression 如果ObservableListValue已经是ListExpression ,它将被退回。 否则,新的ListBinding被创建,绑定到ObservableListValue
        参数类型
        E - 包装的类型 List
        参数
        value - 来源 ObservableListValue
        结果
        一个 ListExpression包装了 ObservableListValue如果有必要
        异常
        NullPointerException - 如果 valuenull
      • getSize

        public int getSize​()
        列表的大小
        结果
        尺寸
      • emptyProperty

        public abstract ReadOnlyBooleanProperty emptyProperty​()
        一个布尔属性,如果列表为空,则为 true
        另请参见:
        isEmpty()
      • valueAt

        public ObjectBinding<E> valueAt​(int index)
        创建一个新的ObjectBinding ,其中包含指定位置的元素。 如果index点在后面, ObjectBinding包含null
        参数
        index - 元素的索引
        结果
        ObjectBinding
        异常
        IllegalArgumentException - 如果是 index < 0
      • 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
        Specified by:
        size在接口 Collection<E>
        Specified by:
        size在接口 List<E>
        结果
        此列表中的元素数
      • isEmpty

        public boolean isEmpty​()
        获取属性的值为空。
        Specified by:
        isEmpty在接口 Collection<E>
        Specified by:
        isEmpty在接口 List<E>
        Property description:
        一个布尔属性,如果列表为空,则为 true
        结果
        true如果此列表不包含元素
      • contains

        public boolean contains​(Object obj)
        描述从界面List复制
        如果此列表包含指定的元素,则返回true 更正式地说,返回true当且仅当此列表包含至少一个元素e这样Objects.equals(o, e)
        Specified by:
        contains在接口 Collection<E>
        Specified by:
        contains在接口 List<E>
        参数
        obj - 要在此列表中存在的元素要进行测试
        结果
        true如果此列表包含指定的元素
      • iterator

        public Iterator<E> iterator​()
        描述从接口List复制
        以正确的顺序返回该列表中的元素的迭代器。
        Specified by:
        iterator在接口 Collection<E>
        Specified by:
        iterator在接口 Iterable<E>
        Specified by:
        iterator在接口 List<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()相同。
        Specified by:
        toArray在接口 Collection<E>
        Specified by:
        toArray在接口 List<E>
        参数类型
        T - 包含集合的数组的运行时类型
        参数
        array - 要存储此列表的元素的数组,如果它足够大; 否则,为此目的分配相同运行时类型的新数组。
        结果
        一个包含此列表元素的数组
      • 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
        Specified by:
        remove在接口 Collection<E>
        Specified by:
        remove在接口 List<E>
        参数
        obj - 要从此列表中删除的元素(如果存在)
        结果
        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复制
        将指定集合中的所有元素插入到此列表中的指定位置(可选操作)。 将当前位于该位置(如果有的话)的元素和随后的任何元素移动到右边(增加其索引)。 新元素将按照指定集合的迭代器返回的顺序显示在此列表中。 如果在操作进行中修改了指定的集合,则此操作的行为是未定义的。 (注意,如果指定的集合是此列表,并且它是非空的,则会发生这种情况。)
        Specified by:
        addAll在接口 List<E>
        参数
        i - 从中指定集合插入第一个元素的索引
        elements - 包含要添加到此列表的元素的集合
        结果
        true如果此列表因呼叫而更改
      • 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复制
        从此列表中删除所有元素(可选操作)。 此呼叫返回后,列表将为空。
        Specified by:
        clear在接口 Collection<E>
        Specified by:
        clear在接口 List<E>
      • get

        public E get​(int i)
        说明从接口List复制
        返回此列表中指定位置的元素。
        Specified by:
        get在接口 List<E>
        参数
        i - 要返回的元素的索引
        结果
        该列表中指定位置的元素
      • set

        public E set​(int i,
                     E element)
        说明从接口List复制
        用指定的元素(可选操作)替换此列表中指定位置的元素。
        Specified by:
        set在接口 List<E>
        参数
        i - 要替换的元素的索引
        element - 要存储在指定位置的元素
        结果
        该元素以前在指定的位置
      • add

        public void add​(int i,
                        E element)
        说明从界面List复制
        将指定的元素插入此列表中的指定位置(可选操作)。 将当前位于该位置的元素(如果有)和任何后续元素(向其索引添加一个)移动。
        Specified by:
        add在接口 List<E>
        参数
        i - 要在其中插入指定元素的索引
        element - 要插入的元素
      • remove

        public E remove​(int i)
        说明从接口List复制
        删除该列表中指定位置的元素(可选操作)。 将任何后续元素移动到左侧(从其索引中减去一个元素)。 返回从列表中删除的元素。
        Specified by:
        remove在接口 List<E>
        参数
        i - 要删除的元素的索引
        结果
        该元素以前在指定的位置
      • indexOf

        public int indexOf​(Object obj)
        说明从接口List复制
        返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。 更正式地,返回最低指数iObjects.equals(o, get(i)) ,或-1如果没有这样的指数。
        Specified by:
        indexOf在接口 List<E>
        参数
        obj - 要搜索的元素
        结果
        此列表中指定元素的首次出现的索引,如果此列表不包含元素,则为-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复制
        从列表中的指定位置开始,返回列表中的元素(按正确顺序)的列表迭代器。 指定的索引指示由初始调用next返回的第一个元素。 初始调用previous将返回指定索引减1的元素。
        Specified by:
        listIterator在接口 List<E>
        参数
        i - 要从列表迭代器返回的第一个元素的索引(通过调用 next
        结果
        在列表中的元素(按正确顺序)的列表迭代器,从列表中的指定位置开始
      • subList

        public List<E> subList​(int from,
                               int to)
        说明从接口List复制
        返回指定的fromIndex (含)和toIndex之间的列表部分的视图。 (如果fromIndextoIndex相等,返回的列表为空。)返回的列表由此列表支持,因此返回列表中的非结构性更改将反映在此列表中,反之亦然。 返回的列表支持此列表支持的所有可选列表操作。

        该方法消除了对显式范围操作(对于数组通常存在的排序)的需要。 任何期望列表的操作都可以通过传递一个子列表视图而不是整个列表来用作范围操作。 例如,以下成语从列表中移除了一系列元素:

           list.subList(from, to).clear();  
        可以为indexOflastIndexOf构造类似的成语,并且可以将Collections类中的所有算法应用于子列表。

        如果支持列表(即,此列表)以除了通过返回的列表之外的任何方式进行结构修改 ,则此方法返回的列表的语义将变为未定义。 (结构修改是那些改变此列表的大小,或以其他方式扰乱它,使得正在进行的迭代可能产生不正确的结果)。

        Specified by:
        subList在接口 List<E>
        参数
        from - 子列表的低端点(含)
        to - 子列表的高端点(排他性)
        结果
        该列表中指定范围的视图
      • 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复制
        对于 retainAll方法的var-arg使用的 方便方法。
        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 - 要移除的范围的结束(排他)