開心生活站

位置:首頁 > IT科技 > 

java,stream

IT科技1.8W

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java streams是什麼?下面就一起來了解一下吧~

Stream是Java8中新加入的api,有利於集合對象進行各種便利、高效的聚合操作,以及大批量數據操作 ,Stream API 藉助於同樣新出現的 Lambda 表達式,極大的提高編程效率和程序可讀性,Stream的使用案例:

下面是一個簡單的示例代碼

List<Dish> menu = ...List<String> lowCaloricDishesName = menu.stream()    //篩選出卡路里大於400的        .filter(d -> d.getCalories() < 400)        //抽取名字屬性創建一個新的流         .map(Dish::getName)    //這個流按List類型返回        .collect(toList());

java stream

在這段代碼 filter 和 map 操作被稱爲中間操作,中間操作會返回一個新的流,而 collect 則被稱爲終端操作只有終端操作纔會讓整個流執行並關閉。也就是說 每個流只能遍歷一次 ,因爲collect以後這個流就已經關閉了。

List<String> test = Arrays.asList("Java8", "In", "Action");Stream<String> s = title.stream();s.forEach(System.out::println);s.forEach(System.out::println);   // 代碼會拋出一個java.lang.IllegalStateException異常

標籤:java stream