筆記 jdk8 list常用特性方法筆記

2021-10-24 17:30:12 字數 1670 閱讀 8714

本帖最後由 gdlove 於 2020-10-12 13:39 編輯

//user(id,type,name)

list

userlist = arrays.aslist(new user(1, 1, "張三"),

new user(2, 1, "李四"),

new user(3, 2, "王五"));

//不做此步迭代器迴圈刪除時會報錯

list

userlist = new arraylist<>(userlist1);

foreach

userlist,foreach(user ->);

迴圈刪除

iterator 

it = userlist.iterator();

while (it.hasnext())

it.remove();

}

二選一即可

mapuser> usermap = userlist.stream().collect(collectors.tomap(user::getid, function.identity()));

mapuser> usermap1 = userlist.stream().collect(collectors.tomap(user::getid, user -> user));

2.取物件的屬性值

map

typemap = userlist.stream().collect(collectors.tomap(user::getid, user::gettype));

//物件分組

map> map = userlist.stream().collect(collectors.groupingby(user::gettype));

//物件屬性分組

maplist

userlistsortid = userlist.stream().sorted(comparator.comparing(user::getid)).collect(collectors.tolist());

//根據id降序排序

list

userlistsortid1 = userlist.stream().sorted(comparator.comparing(user::getid).reversed()).collect(collectors.tolist());

//list任意乙個user的id ==1 返回 true 否則返回false

//與之相對的方法時 nonematch

boolean flag = userlist.stream().anymatch(user -> );

//list所有user元素 的id == 1 返回true 否則返回false

boolean flag1 = userlist.stream().allmatch(user -> );

//list任意user的id == 1 返回 false 否則返回 true

boolean flag2 = userlist.stream().nonematch(user -> );

JDK8新特性之方法引用

方法引用是只需要使用方法的名字,而具體呼叫交給函式式介面,需要和lambda表示式配合使用。如 listlist arrays.aslist a b c list.foreach str system.out.print str list.foreach system.out print 上面兩種寫...

JDK8新特性之方法引用

方法引用是只需要使用方法的名字,而具體呼叫交給函式式介面,需要和lambda表示式配合使用。如 list list arrays.aslist a b c list.foreach str system.out.print str list.foreach system.out print 上面兩種...

JDK8新特性筆記(二) Optional

例子 public class optionaldemo01 else 執行結果 ps2optional chapter1.optional demo.person 12a3a380 optinal物件不為空 chapter1.optional demo.person 12a3a380 0 null...