モジュール javafx.base
パッケージ javafx.collections

クラスModifiableObservableListBase<E>

  • 型パラメータ:
    E - リストに含まれる要素の型
    すべての実装されたインタフェース:
    Iterable<E>, Collection<E>, List<E>, Observable, ObservableList<E>


    public abstract class ModifiableObservableListBase<E>
    extends ObservableListBase<E>
    変更可能なObservableList実装のベース・クラスとして役立つ抽象クラス。 変更可能なObservableListクラスを実装するには、単に次のメソッドのセットを実装します。 通知が自動的に構築されて起動されます。

    別のListに委譲する単純なObservableListの例は次のようになります。

    
       public class ArrayObservableList<E> extends ModifiableObservableList<E> {
    
       private final List<E> delegate = new ArrayList<>();
    
       public E get(int index) {
           return delegate.get(index);
       }
    
       public int size() {
           return delegate.size();
       }
    
       protected void doAdd(int index, E element) {
           delegate.add(index, element);
       }
    
       protected E doSet(int index, E element) {
           return delegate.set(index, element);
       }
    
       protected E doRemove(int index) {
           return delegate.remove(index);
       }
    
     
    導入されたバージョン:
    JavaFX 8.0
    関連項目:
    ObservableListBase
    • コンストラクタの詳細

      • ModifiableObservableListBase

        public ModifiableObservableListBase​()
    • メソッドの詳細

      • setAll

        public boolean setAll​(Collection<? extends E> col)
        次のインタフェースからコピーされた説明: ObservableList
        ObservableListをクリアし、コレクションのすべての要素を追加します。
        定義:
        インタフェースObservableList<E>setAll
        オーバーライド:
        setAll、クラス: ObservableListBase<E>
        パラメータ:
        col - このobservableArrayListに追加される要素を含むコレクション
        戻り値:
        true(Collection.add(E)で指定されているとおり)
      • addAll

        public boolean addAll​(Collection<? extends E> c)
        次のクラスからコピーされた説明: AbstractCollection
        指定されたコレクションのすべての要素をこのコレクションに追加します(オプションの操作)。 オペレーションの進行中に、指定されたコレクションが変更された場合の、このオペレーションの動作は定義されていません。 したがって、指定されたコレクションがこのコレクション自身であり、このコレクションが空ではない場合、この呼出しの動作は定義されていません。
        定義:
        addAll、インタフェース: Collection<E>
        定義:
        addAll、インタフェース: List<E>
        オーバーライド:
        addAll、クラス: AbstractCollection<E>
        パラメータ:
        c - このコレクションに追加される要素を含むコレクション
        戻り値:
        呼出しの結果としてこのコレクションが変更された場合はtrue
        関連項目:
        AbstractCollection.add(Object)
      • addAll

        public boolean addAll​(int index,
                              Collection<? extends E> c)
        クラスからコピーされた説明:AbstractList
        指定されたコレクション内のすべての要素を、このリストの指定された位置に挿入します(オプションの操作)。 その位置とそれ以降に要素がある場合は、それらを右に移動して、各要素のインデックスに1を加えます。 新しい要素は、指定されたコレクションのイテレータによって返される順序でこのリストに挿入されます。 オペレーションの進行中に、指定されたコレクションが変更された場合の、このオペレーションの動作は定義されていません。 (これは、指定されたコレクションがこのリストで、しかも空ではない場合に起こります。)
        定義:
        addAll、インタフェース: List<E>
        オーバーライド:
        addAll、クラス: AbstractList<E>
        パラメータ:
        index - 指定されたコレクションの最初の要素を挿入する位置のインデックス。
        c - このリストに追加される要素を含むコレクション。
        戻り値:
        呼出しの結果としてこのリストが変更された場合はtrue
      • removeRange

        protected void removeRange​(int fromIndex,
                                   int toIndex)
        クラスからコピーされた説明:AbstractList
        fromIndex (これを含む)からtoIndex (これを含まない)の範囲のインデックスを持つすべての要素をこのリストから削除します。 後続の要素は左に移動します(インデックス値が減少)。 この呼出しにより、(toIndex - fromIndex)の要素数だけリストが短くなります。 toIndex==fromIndexの場合、このオペレーションは何も行いません。

        このメソッドは、このリストおよびそのサブリストでclearオペレーションによって呼び出されます。 このメソッドをオーバーライドしてリストの実装の特性を最大限に利用するようにすると、このリストおよびそのサブリストに対するclearオペレーションの性能がかなり向上します。

        オーバーライド:
        removeRange、クラス: AbstractList<E>
        パラメータ:
        fromIndex - 削除する最初の要素のインデックス
        toIndex - 削除する最後の要素の直後のインデックス
      • removeAll

        public boolean removeAll​(Collection<?> c)
        次のクラスからコピーされた説明: AbstractCollection
        指定されたコレクションにも格納されているこのコレクションのすべての要素を削除します(オプションの操作)。 この呼出しの結果、このコレクションには指定されたコレクションと共通の要素はなくなります。
        定義:
        removeAll、インタフェース: Collection<E>
        定義:
        removeAll、インタフェース: List<E>
        オーバーライド:
        removeAll、クラス: AbstractCollection<E>
        パラメータ:
        c - このコレクションから削除される要素を含むコレクション
        戻り値:
        呼出しの結果としてこのコレクションが変更された場合はtrue
        関連項目:
        AbstractCollection.remove(Object), AbstractCollection.contains(Object)
      • retainAll

        public boolean retainAll​(Collection<?> c)
        次のクラスからコピーされた説明: AbstractCollection
        このコレクションにおいて、指定されたコレクションに格納されている要素だけを保持します(オプションの操作)。 つまり、指定されたコレクションに格納されていないすべての要素をこのコレクションから削除します。
        定義:
        retainAll、インタフェース: Collection<E>
        定義:
        retainAll、インタフェース: List<E>
        オーバーライド:
        retainAll、クラス: AbstractCollection<E>
        パラメータ:
        c - このコレクションで保持される要素を含むコレクション
        戻り値:
        呼出しの結果としてこのコレクションが変更された場合はtrue
        関連項目:
        AbstractCollection.remove(Object), AbstractCollection.contains(Object)
      • add

        public void add​(int index,
                        E element)
        クラスからコピーされた説明:AbstractList
        このリスト内の指定された位置に、指定された要素を挿入します(オプションの操作)。 その位置とそれ以降に要素があればそれらを右に移動させ、各要素のインデックスに1を加えます。
        定義:
        add、インタフェース: List<E>
        オーバーライド:
        add、クラス: AbstractList<E>
        パラメータ:
        index - 指定の要素が挿入される位置のインデックス
        element - 挿入される要素
      • set

        public E set​(int index,
                     E element)
        クラスからコピーされた説明:AbstractList
        このリスト内の指定された位置にある要素を、指定された要素に置き換えます(オプションの操作)。
        定義:
        set、インタフェース: List<E>
        オーバーライド:
        set、クラス: AbstractList<E>
        パラメータ:
        index - 置換される要素のインデックス。
        element - 指定された位置に格納される要素。
        戻り値:
        指定された位置に以前あった要素。
      • remove

        public boolean remove​(Object o)
        次のクラスからコピーされた説明: AbstractCollection
        指定された要素のインスタンスがこのコレクションにあれば、そのインスタンスをコレクションから1つ削除します(オプションの操作)。 より正式には、Objects.equals(o, e)のような要素eを削除します(このコレクションに1つ以上の要素が含まれている場合)。 指定された要素がこのコレクションに含まれていた場合、つまり、呼出しの結果としてこのコレクションが変更された場合にtrueを返します。
        定義:
        remove、インタフェース: Collection<E>
        定義:
        remove、インタフェース: List<E>
        オーバーライド:
        remove、クラス: AbstractCollection<E>
        パラメータ:
        o - このコレクションから削除される要素(その要素が存在する場合)
        戻り値:
        この呼出しの結果として要素が削除された場合はtrue
      • remove

        public E remove​(int index)
        クラスからコピーされた説明:AbstractList
        このリスト内の指定された位置にある要素を削除します(オプションの操作)。 後続の要素を左に移動します(インデックスから1を減算)。 リストから削除された要素が返されます。
        定義:
        remove、インタフェース: List<E>
        オーバーライド:
        remove、クラス: AbstractList<E>
        パラメータ:
        index - 削除される要素のインデックス
        戻り値:
        指定された位置に以前あった要素。
      • subList

        public List<E> subList​(int fromIndex,
                               int toIndex)
        クラスからコピーされた説明:AbstractList
        このリストの、指定されたfromIndex (これを含む)からtoIndex (これを含まない)までの部分のビューを返します。 fromIndextoIndexが等しい場合は、空のリストが返されます。 返されるリストはこのリストに連動しているため、返されるリスト内での非構造的な変更はこのリストに反映され、このリスト内での変更は返されるリストに反映されます。 返されるリストは、このリストによってサポートされている、任意のリスト・オペレーションをすべてサポートします。

        このメソッドでは、配列に一般的に見られるような、明示的な範囲操作は必要ありません。 リストを予期する操作は、リスト全体ではなくsubListビューを渡すことで範囲操作として使用できます。 たとえば、次のイディオムは、ある範囲の要素をリストから削除します。

        
              list.subList(from, to).clear();
         
        indexOfおよびlastIndexOfでも同様のイディオムを構築して、CollectionsクラスのすべてのアルゴリズムをsubListに適用できます。

        バッキング・リスト(すなわち、このリスト)の構造が、返されたリストを経由せずに変更された場合、このメソッドで返されるリストのセマンティックスは定義されていません。 構造の変更とは、リストのサイズが変わるような変更や、進行中のイテレーションが不正な結果に終わるような変更のことです。

        定義:
        subList、インタフェース: List<E>
        オーバーライド:
        subList、クラス: AbstractList<E>
        パラメータ:
        fromIndex - subListの下端点(これを含む)
        toIndex - subListの上端点(これを含まない)
        戻り値:
        このリスト内の指定された範囲のビュー
      • get

        public abstract E get​(int index)
        クラスからコピーされた説明:AbstractList
        このリスト内の指定された位置にある要素を返します。
        定義:
        get、インタフェース: List<E>
        定義:
        get、クラス: AbstractList<E>
        パラメータ:
        index - 返される要素のインデックス
        戻り値:
        このリスト内の指定された位置にある要素
      • size

        public abstract int size​()
        次のインタフェースからコピーされた説明: Collection
        このコレクション中の要素の数を返します。 このコレクションにInteger.MAX_VALUEより多くの要素がある場合は、Integer.MAX_VALUEを返します。
        定義:
        size、インタフェース: Collection<E>
        定義:
        size、インタフェース: List<E>
        定義:
        size、クラス: AbstractCollection<E>
        戻り値:
        このコレクションの要素数
      • doAdd

        protected abstract void doAdd​(int index,
                                      E element)
        elementindexの位置にあるリストに追加します。

        発生する可能性がある例外の説明は、AbstractList.add(java.lang.Object)メソッドのドキュメントを参照してください。

        パラメータ:
        index - 要素を追加する位置
        element - 追加される要素
        例外:
        ClassCastException - 指定された要素の型がこのリストと互換性がない場合
        NullPointerException - 指定された引数に1つ以上のnull要素が含まれている場合
        IllegalArgumentException - この要素のあるプロパティが原因で、このリストにその要素を追加できない場合
        IndexOutOfBoundsException - インデックスが範囲外の場合(index < 0 || index > size())
      • doSet

        protected abstract E doSet​(int index,
                                   E element)
        elementindexの位置にあるリストに設定します。

        発生する可能性がある例外の説明は、set(int, java.lang.Object)メソッドのドキュメントを参照してください。

        パラメータ:
        index - 要素を設定する位置
        element - 指定された位置に設定される要素
        戻り値:
        指定された位置にある古い要素
        例外:
        ClassCastException - 指定された要素の型がこのリストと互換性がない場合
        NullPointerException - 指定された引数に1つ以上のnull要素が含まれている場合
        IllegalArgumentException - この要素のあるプロパティが原因で、このリストにその要素を追加できない場合
        IndexOutOfBoundsException - インデックスが範囲外の場合(index < 0 || index >= size())
      • doRemove

        protected abstract E doRemove​(int index)
        indexの位置にある要素を削除します。
        パラメータ:
        index - 削除される要素の索引
        戻り値:
        削除される要素
        例外:
        IndexOutOfBoundsException - インデックスが範囲外の場合(index < 0 || index >= size())