目录
1. Stream 是什么?
2. Stream 的应用场景?
3. Stream 的应用
1. Stream 是什么?
Stream 是 jdk 1.8 的一个新特性,专门为 函数式接口 而生(面试高频问题点,jdk 新特性)
2. Stream 的应用场景?上面其实已经提到了,函数式接口。
那么什么是 函数式接口 呢?
只有一个 功能函数 的 接口 称为 函数式接口。
看一下下面的一个 Runnable 多线程实现的一个东西。
@FunctionalInterface public interface Runnable { public abstract void run(); }
只有一个 run 方法的 interface 则为 FunctionalInterface。
3. Stream 的应用Stream 可以在 Java List 使用
User u1 = new User(1, "zs", 18); User u2 = new User(2, "ls", 19); User u3 = new User(3, "ww", 20); User u4 = new User(4, "zl", 21); User u5 = new User(4, "xl", 22); Listlist = Arrays.asList(u1, u2, u3, u4, u5); Stream res = list.stream() .filter(u -> { return u.getId() > 2; }) .filter(u -> { return u.getAge() > 20; }); System.out.println(res.toArray()[0]);
上面例子中将一个 list 转换为 stream 流然后进行筛选,这也是面试的高频点哦,只要听到面试官说到,用一行代码,然后多个条件,筛选出某对象时,那么八九不离十往stream流去考虑,因为if else很多行代码哦。答不出来,大部分都是凉凉了,毕竟现在都 jdk 10 几了。
ok,解释完毕,不定期更新内容中......
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)