Javaコレクションのリストコード分析

黄舟
リリース: 2017-03-13 17:28:51
オリジナル
1577 人が閲覧しました

Listは、Collectionのインターフェースから継承します。Listもコレクションの一種です。リストは順序付けされたキューです。リスト内の各要素にはインデックスがあり、最初の要素のインデックス値は連続して+1されます。リスト。

List フレームワーク:


List インターフェイスのソース コード:


public interface List<E> extends Collection<E> {
    int size();//大小
    boolean isEmpty();//判断是否为空
    boolean contains(Object o);//判断是否包含某个对象
    Iterator<E> iterator();//返回迭代对象
    Object[] toArray(); //返回对象数组
    <T> T[] toArray(T[] a);//对象数组
    boolean add(E e);//添加某个对象
    boolean remove(Object o);//删除某个对象
    boolean containsAll(Collection<?> c); // 是否包含某个Collection的所有对象
    boolean addAll(Collection<? extends E> c);//将Collection对象追加到List中
    boolean addAll(int index, Collection<? extends E> c);//在某个位置将Collection对象追加到List中
    boolean removeAll(Collection<?> c);//去掉Collection中所包含的对象
    boolean retainAll(Collection<?> c);//去掉不包含在Collection中所包含的对象
    default void replaceAll(UnaryOperator<E> operator) {
        Objects.requireNonNull(operator);
        final ListIterator<E> li = this.listIterator();
        while (li.hasNext()) {
            li.set(operator.apply(li.next()));
        }
    }
    @SuppressWarnings({"unchecked", "rawtypes"})
    default void sort(Comparator<? super E> c) {
        Object[] a = this.toArray();
        Arrays.sort(a, (Comparator) c);
        ListIterator<E> i = this.listIterator();
        for (Object e : a) {
            i.next();
            i.set((E) e);
        }
    }
    void clear();//删除所有对象
    boolean equals(Object o);//判断两个list是否相同
    int hashCode();//返回List的hashCode
    E get(int index);//返回某个位置的对象
    E set(int index, E element);//替换某个位置的对象
    void add(int index, E element);//在某个位置添加对象
    E remove(int index);//删除某个位置的对象
    int indexOf(Object o);//返回某个对象在List中的位置
    int lastIndexOf(Object o);//List中最后一个对象的坐标
    ListIterator<E> listIterator();//返回整个List的迭代
    ListIterator<E> listIterator(int index); //从某个位置开始返回List的迭代
    List<E> subList(int fromIndex, int toIndex);//截取部分List
    @Override
    default Spliterator<E> spliterator() {
        return Spliterators.spliterator(this, Spliterator.ORDERED);
    }
}
ログイン後にコピー


以上がJavaコレクションのリストコード分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート