47 List中特有的方法

2022-02-24 18:22:02 字數 1655 閱讀 5800

集合的體系:

--------------| collection  單列集合的根介面

----------| list 如果實現了list介面的集合類,該類具備的特點是:有序,可重複

----------| set  如果實現了set幾口的集合類,該類具備的特點:無序,不可重複

list的特有方法:

新增add(int index, e element)    把元素新增到指定索引的位置

addall(int index, collection extends e> c)   根據索引把乙個集合中的所有元素新增到另乙個集合中

刪除remove(int index)      根據索引刪除集合中的指定元素

檢視get(int index)        獲取集合中指定索引處的元素

sublist(int fromindex, int toindex)  指定開始和結束位置,獲取集合中的一些元素(包頭不包尾)

indexof(object o)     獲取集合中指定元素第一次出現的位置(索引值)

lastindexof(object o)  獲取集合中指定元素最後一次出現的位置(索引值)

修改     

set(int index, e element)  替換指定元素中的元素(element:修改後的值)

迭代器listiterator()    返回列表中元素的列表迭代器

listiterator(int index) 返回列表中指定元素的列表迭代器(index:開始位置)

總結:我們發現list介面中特有的方法都存在索引值,所以我們如果要

listiterator特有的方法:

hasprevious() 判斷是否有上乙個元素

previous()   指標先向下移動一位,再取出當前指標指向的元素

next()     先取出當前指標指向的元素,指標再向下移動一位

add()      把元素新增到當前的指標指向的位置

set()      用指定元素替換 next 或 previous 返回的最後乙個元素     

注意:當我們開始迭代的時候,指標預設指定的是第乙個元素

下面我們來一段**:

這時我們是不是感到很疑惑:為什麼第二個迴圈輸出王五呢?按照上面的說法,第二個迴圈只能取出李四和張三嗎?

首先我們來看看next的定義:

next()     先取出當前指標指向的元素,指標再向下移動一位

我們可以發現:當next去除最後乙個元素的時候指標往下移動了一位,然後才判斷沒有元素了。

按照上面的例子,這個時候的指標指向的是3(索引)

我們再看previous方法的定義:

previous()   指標先向下移動一位,再取出當前指標指向的元素

我們可以發現,如果這個時候指標指向的是3,那麼指標再向上移動一位,這個時候的指標指向的是2,所以輸出了王五

mysql特有語法 MySql中特有的語法

limit select fromtablelimit offset,rows rows offset offset on duplicate key update insert low priority delayed high priority ignore into tbl name set ...

iOS中特有的NS ENUM和NS OPTIONS

一般情況下,我們採用c風格的enum關鍵字可以定義列舉型別。enum uiviewanimationtransition 位移操作列舉定義 enum typedef nsuinteger uiviewautoresizing 使用nsuinteger的地方可以使用uiviewautoresizing...

mysql中能有 MySql中特有的語法

limit select fromtablelimit offset,rows rows offset offset on duplicate key update insert low priority delayed high priority ignore into tbl nameset c...