List相關操作(遍歷 插入 獲取部分 去重)

2021-09-21 07:17:24 字數 2303 閱讀 6846

1.for迴圈遍歷

for

(int i =

0; i < list.

size()

; i++

)

2.foreach迴圈遍歷,常用

for

(x x: list)

3.iterator遍歷,進行刪除操作

iterator

iterator = list.

iterator()

;while

(iterator.

hasnext()

)}

1.lambda表示式去重(1.8)

list newlist = list.

stream()

.distinct()

.collect

(collectors.

tolist()

);

2.set和list轉換去重(打亂順序)

set set =

newhashset()

; list newlist =

newarraylist()

; set.

addall

(list)

; newlist.

addall

(set2)

;

3.set集合輔助去重(不打亂順序)

set set =

newhashset()

; list newlist =

newarraylist()

;for

(integer integer : list)

}

4.set集合輔助去重(不打亂順序,簡潔公升級版)

list newlist =

newarraylist

(new

linkedhashset

(list)))

;

5.雙重迴圈去重

簡單,不再贅述,注意使用iterator

list的contains方法要注意,如果是乙個物件的列表,contains比較的是啥呢?

equals()的預設行為是比較引用

所以list的contains()比較物件,需要重寫物件的equals()和hashcode()方法。

如:列表為 [a, b, c, d, e] ,在下標為2的地方插入「f」

list.

add(2,

'f')

;

輸出:

[a, b, f, c, d, e]
如,獲取list的前三個元素

list newlist=list.

sublist(0

,3);

注意:這樣並不是得到乙份copy,newlist只不過是對映到list部分,改變newlist也會改變list,反之亦然(包括修改、增加、刪除元素等操作)。

根據某個條件進行分組,放入map

//條件是根據類x的x域進行分組,放入map,key是x

map> newmap = list.

stream()

.collect

(collectors.

groupingby

(x::getx)

);

list是物件x的列表,取x的域x,當做乙個新list

list

newlist = list.

stream()

.map

(x::getx)

.collect

(collectors.

tolist()

);

list

> lists = lists.

partition

(list,

1000

);

節點List相關操作

為方便遍歷子節點,lxml將節點list的操作盡可能的與python處理list的方式一樣保持一致 建立xml from lxml import etree root etree.element root 建立根節點 child1 建立子節點child1 child2 etree.subelemen...

list列表相關操作

字串的操作 s alexwusir s1 s.capitalize print s1 大寫,小寫 s2 s.upper s3 s.lower print s2,s3 s str aceq your input input 請輸入驗證碼 不區分大小寫 if s str.lower your input...

節點遍歷相關操作

from lxml import etree root etree.element root etree.subelement root,child text child 1 etree.subelement root,child text child 2 etree.subelement root...