java - stream

来源:趣味经验馆 1.75W

<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异常

热门标签