本帖最後由 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...