jdk1 8對集合的新操作

2021-08-20 12:55:24 字數 870 閱讀 5694

1.生成乙個list

listli = arrays.aslist("a","b");引數為乙個可變引數

2.對集合本身進行操作,並生成乙個新的list集合

liststr = li.steam().map(x->).collect(collectors.tolist());

3.對集合進行過濾  返回false代表拋棄該元素返回true反之

liststr = li.steam().filter(x->).collect(collectors.tolist());

4.對集合進行分組,以字串的長度進行分組,並生成乙個map

map> col = li.stream().collect(collectors.groupingby(string::length));

5.集合的遍歷foreach操作

list.foreach(x->);

6.max和min函式 用來取集合中的最大值最小值

optionalmax = list.stream().max((x,y)->{

return x.compareto(y)';

system.out.println(max.orelse(null));//如果該集合為空就會輸出為null;使用該方法可以避免空指標異常。

7.集合的合併

listl1 = arrays.aslist("1","2","3","4","5","6");

listl2 = arrays.aslist("1a","2a","3a","4a","5a","6a");

stream.concat(l1.steam(),l2.steam());  返回乙個steam可以用資料收集器將資料收集起來。

8.平行流,就是把集合的多個元素開多執行緒去處理

JDK1 8的新特性

jdk1.8之前的介面不可以有方法體,但從jdk1.8開始,介面中的方法可以帶有方法體為什麼要新增這個特性?介面就是為了定義乙個標準,這個標準要求所有的實現類實現這些抽象方法。但存在某些方法,所有的實現類 都是一樣的,索性就把這些 挪到介面中。使用的方法?通過default來修飾這個方法public...

JDK1 8新特性簡介

可以用static default來定義介面方法 用default來定義普通方法,這樣子類就不用強制覆寫這個方法了。用static來定義靜態方法 專給lanmda使用的介面加上annotation functionalinte ce 其中只能有乙個方法 使用 引數 程式執行語句 引數 簡單返回 引數...

JDK1 8 新特性(全)

hashmap資料結構 在jdk1.8中對hashmap等map集合的資料結構優化。hashmap資料結構的優化 知識點 1 原來的hashmap採用的資料結構是雜湊表 陣列 鍊錶 hashmap預設大小是16,乙個0 15索引的陣列,2 如何往裡面儲存元素 首先呼叫元素的hashcode 方法,計...