亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

你好,在Stream中的limit方法調用原理是什么?怎么用?

你好,在Stream中的limit方法調用原理是什么?怎么用?

一只名叫tom的貓 2022-04-01 13:10:03
Stream是一個接口,而Stream<T> limit(long maxSize);方法并非靜態方法,為什么可以直接調用呢?如以下代碼:public class Demo {public static void main(String[] args) {String[] arr = {"張三","李四","王五"};Stream<String> stream = Stream.of(arr);Stream<String> stream1 = stream.limit(2);}}
查看完整描述

3 回答

?
米脂

TA貢獻1836條經驗 獲得超3個贊

仔細看以下兩行代碼:
Stream<String> stream = Stream.of(arr);
Stream<String> stream1 = stream.limit(2);
調用limit的是小寫的stream,它是of方法返回的Stream的一個實例。

查看完整回答
反對 回復 2022-04-07
?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

limit 返回 Stream 的前面 n 個元素

查看完整回答
反對 回復 2022-04-07
?
幕布斯6054654

TA貢獻1876條經驗 獲得超7個贊

Stream上的所有操作分為兩類:中間操作和結束操作,中間操作只是一種標記,只有結束操作才會觸發實際計算。中間操作又可以分為無狀態的(Stateless)和有狀態的(Stateful),無狀態中間操作是指元素的處理不受前面元素的影響,而有狀態的中間操作必須等到所有元素處理之后才知道最終結果,比如排序是有狀態操作,在讀取所有元素之前并不能確定排序結果;結束操作又可以分為短路操作和非短路操作,短路操作是指不用處理全部元素就可以返回結果,比如找到第一個滿足條件的元素。之所以要進行如此精細的劃分,是因為底層對每一種情況的處理方式不同。

查看完整回答
反對 回復 2022-04-07
  • 3 回答
  • 0 關注
  • 206 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號