JDK原始碼解讀 List(介面)

2021-09-27 06:14:27 字數 1634 閱讀 8308

list介面繼承了collection介面,是列表這一型別的基礎介面

int size();

boolean isempty();

boolean contains(object o);

iteratoriterator();

object toarray();

t toarray(t a);

boolean add(e e);

boolean remove(object o);

boolean containsall(collection<?> c);

boolean addall(collection<? extends e> c);

boolean removeall(collection<?> c);

boolean retainall(collection<?> c);

void clear();

default spliteratorspliterator()

list翻譯過來的意思就是個列表,對於列表會有一些特殊的操作。

1. 新增,修改,刪除

//在指定位置上新增集合c的所有元素

boolean addall(int index, collection<? extends e> c);

//替換所有元素

default void replaceall(unaryoperatoroperator)

}//在指定位置上新增元素

void add(int index, e element);

//替換指定位置上的元素

e set(int index, e element);

//刪除指定位置上的元素

e remove(int index);

unaryoperator跟之前提到的consumer類似,也是個函式式程式設計的介面,不一樣的地方在於unaryoperator有返回值。

2.查詢

//獲取指定位置上的元素 

e get(int index);

//返回元素的索引

int indexof(object o);

//返回元素最後出現位置的索引

int lastindexof(object o);

3.排序

default void sort(comparator<? super e> c) 

}

4. 返回子串行

listsublist(int fromindex, int toindex);
5.list迭代器

listiteratorlistiterator();

//從指定位置開始的iterator

listiteratorlistiterator(int index);

很明顯listiterator是list特有的迭代器,接下來就分析listiterator吧。

JDK原始碼解讀 Collection(介面)

collection介面是對儲存資料的容器的抽象,裡面定義的方法其實就是容器應該具有的功能。boolean add e e boolean addall collection c boolean remove object o boolean removeall collection c void ...

JDK原始碼解讀 Iterator(介面)

1.hasnext 判斷是否還有元素 boolean hasnext 2.next 返回下乙個元素 e next 3.remove default void remove 一般集合都提供了remove方法,為什麼迭代器介面還要提供乙個介面呢?其實如果在iterator迭代操作的時候,collecti...

JDK原始碼閱讀 集合框架 List介面

list介面是collection介面最重要的兒子之一,也是我們常用的arrrylist類的超級老父親的老父親的老父親的。老父親。先看他的定義 public inte ce listextends collectionlist介面有以下特點,也就是說他的實現類有以下特徵,大家使用的時候注意 list...