Stream中有延迟方法和终结方法,如果终结方法没有调用则前面所调用的方法都不会执行。(支持链式调用)
延迟方法有:filter() map() skip() 等等 终结方法: count() forEach()等等
下面我就讲讲一些常用的方法在这里插入代码片
package cn.java1;
import java.util.ArrayList;
import java.util.Optional;
/**
* @author Sx-Wang
* @data 2020-06-02 21:16
*/
public class StreamMethodTest {
public static void main (String[] args) {
// 创造ArrayList数组
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("张三");
arrayList.add("李四");
arrayList.add("王五");
arrayList.add("孙六");
arrayList.add("张三");
arrayList.add("老丁");
arrayList.add("附分");
arrayList.add("帐副书");
arrayList.add("张达达");
arrayList.add("李四");
arrayList.add("张底达");
//distinct()方法过滤重复的元素
arrayList.stream().distinct().forEach((name) -> System.out.println(name));
//limit(long maxSize) 方法取用前几个元素
arrayList.stream().limit(3).forEach((name) -> System.out.println(name));
//skip(long n) 方法跳过前n个元素
arrayList.stream().skip(2).forEach((name) -> System.out.println(name));
//cont()方法获取流中有多少元素
long count = arrayList.stream().count();
//map() 方法用于映射每个元素到对应的结果
//通过map()方法得到每个人名字的长度
arrayList.stream().map(name -> name.length()).forEach(num -> System.out.println(num));
//findFirst() 返回第一个元素 返回这个过程后使用Optional中的get()方法来取的想要的值
Optional<String> first = arrayList.stream().findFirst();
System.out.println(first.get());
}
}
以上讲的常用方法,更多方法请查阅java的API手册.