流是Java8引入的全新概念,它用来处理集合中的数据,暂且可以把它理解为一种高级集合。
Stream将要处理的元素集合看作一种流,在流的过程中,借助Stream API对流中的元素进行操作,比如:筛选、排序、聚合等。
众所周知,集合操作非常麻烦,若要对集合进行筛选、投影,需要写大量的代码,而流是以声明的形式操作集合,它就像SQL语句,我们只需告诉流需要对集合进行什么操作,它就会自动进行操作,并将执行结果交给你,无需我们自己手写代码。
因此,流的集合操作对我们来说是透明的,我们只需向流下达命令,它就会自动把我们想要的结果给我们。由于操作过程完全由Java处理,因此它可以根据当前硬件环境选择最优的方法处理,我们也无需编写复杂又容易出错的多线程代码了。
Java 8是一个跨越式的版本,于2014年3月18日正式发布,距今几年过去了,很多企业的项目中都使用了Java8进行开发,很多开源框架也都要求至少JDK8,由于Java8中有很多重要的变化,如果不掌握Java8的这些新特性,可能我们在实际项目的开发中,有可能看不懂别人编写的代码,所以我们非常有必要掌握Java8的新特性,以满足日常开发的需求。正是考虑到我们工作求职的需要,本站为大家推出了免费的精品好课—Java8新特性之Stream流式操作,详细地为大家介绍了Java8中的重要新特性Stream式操作。
1-1 Stream流概述 (17:41)
1-2 Stream流的几种获得方式 (08:45)
1-3 Stream流的筛选操作 (09:27)
1-4 Stream流的map映射 (07:17)
1-5 Stream流的匹配与查找操作 (07:20)
1-6 Stream流的reduce归约 (09:19)
1-7 Stream把包装类对象映射到数值流 (04:27)
1-8 Stream流的collect归约 (05:39)
1-9 Stream流在开发中的应用1 (09:33)
1-10 Stream流在开发中的应用2 (14:56)
1-11 JDK8对HashMap性能的提升 (13:26)
1-12 JDK8新增LocalDateTime类 (11:51)
1-13 DateTimeFormmatter实现日期与字符串的相互转换 (07:43)
在使用流之前,首先需要拥有一个数据源,并通过StreamAPI提供的一些方法获取该数据源的流对象。数据源可以有多种形式:
集合:这种数据源较为常用,通过stream()方法即可获取流对象:List<Person> list = new ArrayList<Person>();
Stream<Person> stream = list.stream();
数组:通过Arrays类提供的静态函数stream()获取数组的流对象:String[] names = {"chaimm","peter","john"};
Stream<String> stream = Arrays.stream(names);
值:直接将几个值变成流对象:Stream<String> stream = Stream.of("chaimm","peter","john");
文件:
try(Stream<String> lines = Files.lines(Paths.get("文件路径名"),Charset.defaultCharset())){
//可对lines做一些操作
}catch(IOException e){
}
此外,我们还需要注意以下几点:
只要掌握到学习Stream流的特性,注意到一些我们Java8 Stream流式操作视频教程中提到的一些细节,学好Java stream流式操作指日可待!
代码小兵49806-11 15:28
代码小兵49806-11 15:51
代码小兵49806-11 16:22
代码小兵51603-29 17:28
暴风城-小飞04-06 20:49