Java8新特性-Stream流

来自java.util.Stream.Stream;包当中
其中方法非常简单。 因其方法后面跟着函数式接口,所以可以非常便捷的使用lambda表达式来进行操作。
大大优化代码

import
java.util.*; import java.util.stream.Stream; public class SocketLearning { public static void main(String[] args) { // stream(); // stream2(); // streamCount(); // streamLimit(); // streamSkip(); // streamConcat(); streamFilter(); } public static void streamFilter() { // 此方法返回的是Stream Stream<String> stream = Stream.of("张三丰","周迅","李白","张无忌"); Stream<String> stream2 = stream.filter((String name)->{ return name.startsWith("张"); }); stream2.forEach(name->System.out.println(name)); } public static void stream() { List<String> list = new ArrayList<>(); list.add("张无忌"); list.add("周芷若"); list.add("赵敏"); list.add("张强"); list.add("张三丰"); list.stream() .filter(name->name.startsWith("张")) .filter(name->name.length()==3) .forEach(name->System.out.println(name)); Stream.of("1"); } public static void stream2() { Stream<String> stream = Stream.of("1","2","3","4"); // 使用map方法,把他转换成Integer Stream<Integer> stream2 = stream.map((String s)->{ return Integer.parseInt(s); }); stream2.forEach(i->System.out.println(i)); } public static void streamCount() { ArrayList<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); list.add(6); Stream<Integer> stream = list.stream(); long count = stream.count(); System.out.println(count); } public static void streamLimit() { // 取用前几个 如limit(4)等。是一个延迟方法 String[] arr = {"喜羊羊","美羊羊","灰太狼","红太狼"}; Stream<String> stream = Stream.of(arr); Stream<String> stream2 = stream.limit(2); stream2.forEach(i->System.out.println(i)); } public static void streamSkip() { String[] arr = {"喜羊羊","美羊羊","灰太狼","红太狼"}; Stream<String> stream = Stream.of(arr); Stream<String> stream2 = stream.skip(2); stream2.forEach(i->System.out.println(i)); } public static void streamConcat() { Stream<String> stream = Stream.of("1","2","3","4"); String[] arr = {"喜羊羊","美羊羊","灰太狼","红太狼"}; Stream<String> stream2 = Stream.of(arr); Stream<String> stream3 = Stream.concat(stream, stream2); stream3.forEach(i->System.out.println(i)); } }

猜你喜欢

转载自www.cnblogs.com/zxl1010/p/11995482.html