steam():把一个源数据,可以是集合,数组,I/O channel, 产生器generator 等,转化成流。
/**
* 遍历list集合
*/
students.forEach(System.out::println);
/**
* 筛选过滤集合
* Lambda的类型是从使用Lambda的上下文推断出来的
* collect将流对象转换成集合
*/
List<Student> collectList= students.stream().filter(ls -> ls.getAge() > 15).collect(Collectors.toList());
/**
* map():作用是返回一个对当前所有元素执行执行mapper之后的结果组成的Stream
* 用于映射每个元素到对应的结果
*/
List<String> collectMap = students.stream().map(ls -> ls.getAddress()).collect(Collectors.toList());
/**
* 集合去重
* Arrays.asList:数组转化成list
*/
List<String> list = Arrays.asList("111","222","333","111","222");
list.stream().distinct().forEach(System.out::println);
执行结果:111,222,333
/**
* 集合按默认排序
*/
list.stream().sorted().forEach(System.out::println);
执行结果:111,222,333,默认升序
/**
* 按指定顺序
* 在Stream里,重载了sorted方法
*/
students.stream().sorted((stu1,stu2)->Long.compare(stu2.getId(),stu1.getId()))
.sorted((stu1,stu2)->Long.compare(stu2.getAge(),stu1.getAge()))
.forEach(System.out::println);
/**
* 集合reduce,将集合中每个元素聚合成一条数据
*/
List<String> lists = Arrays.asList("欢","迎","你");
String appendStr = lists.stream().reduce("北京",(a,b) -> a+b);
关于搭建过程我是完全参考这篇文章完成的,亲测可用! FastDfs搭建 小白在搭建过程中需要注意的两个点:
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /data/fastdfs/client/99.png
简单一点,如果您在测试上传的时候可直接复制我上边的命令,仅修改您服务器中文件的路径即可, (/data/fastdfs/client/99.png)
测试完成会返回url: