stream流:
不同於io流,io流主要用於處理輸出,stream流主要用於處理集合,簡化集合操作
stream流是lambda表示式的衍生物
始於jdk1.8
**:arraylistlist = new arraylist<>();
list.add("張無忌");
list.add("張三丰");
list.add("張累");
list.add("小龍女");
list.add("郭靖");
system.out.println(list);
list.stream()
.filter(name->name.startswith("張"))
.filter(name->name.length()==3)
.foreach(name-> system.out.println(name));
stream流就是對集合的流水線操作,最後獲得想要的資料
乙個stream流物件只能使用一次,使用過後隨即關閉
獲取stream流:
collection集合獲取流:
map是無法直接獲取流物件的,需要轉換為collection的子類物件才可以
鍵獲取流
值獲取流
鍵值對物件獲取流
陣列獲取流:
常用方法:
延遲方法:
limit:
擷取前面的幾個元素,放棄後面的
skip:
放棄前面的幾個元素,擷取後面的
concat:
filter:
map:
終結方法:
foreach:
count:
返回集合中元素的個數
方法引用:
是lambda表示式的簡化形式
可以呼叫已經存在的方法,來代替lambda表示式
幾種形式:
通過物件名引用成員方法
通過類名稱引用靜態方法
通過super引用成員方法
在本類中呼叫父類的方法
通過this引用成員方法
在本類中呼叫自己的方法
類的構造器方法引用:
適用情形:
函式式的返回值是乙個物件時,可以使用
陣列的構造方法引用:
適用情形:
函式式的返回值是乙個陣列時,可以使用
day13 Stream流 方法引用
主要內容jdk1.8 出現,關注做什麼,而不是怎麼做 collection集合都可以通過stream預設方法獲取流 list list newarraylist stream stream1 list.stream stream介面靜態方法of可以獲取陣列對應的流 string array stre...
Stream流 方法引用
流式思想 類似於 生產流水線 模型就是每乙個位置 延遲方法 返回型別是stream介面自身型別的方法,可以鏈式程式設計 包括filter,map,skip等 終結方法 返回型別不再是stream介面自身型別的方法,包括count,foreach stream流常用方法 void foreach co...
函式式介面的方法引用,和Stream流
能夠使用方法引用的常見引用方式 物件名 引用成員方法 a a newa a method this 本類的成員方法 super 父類的成員方法 string str abc str touppercase類名 引用靜態方法math random integer parseint類 構造引用perso...