做ps找图的网站有哪些,法与家国建设征文网站,手机模板网站生成制作软件,wordpress添加背景图片forEach方法,用来遍历流中的数据 是一个终结方法,遍历之后就不能继续调用Stream流中的其他方法 //获取一个Stream流StreamString stream Stream.of(张三, 李四, 王五, 赵六, 田七);//使用Stream流中的方…forEach方法,用来遍历流中的数据 是一个终结方法,遍历之后就不能继续调用Stream流中的其他方法 //获取一个Stream流StreamString stream Stream.of(张三, 李四, 王五, 赵六, 田七);//使用Stream流中的方法forEach对Stream流中的数据进行遍历stream.forEach(name - System.out.println(name));Stream流中的常用方法_filter:用于对Stream流中的数据进行过滤 Stream filter(Predicate? super T predicate); filter方法的参数Predicate是一个函数式接口,所以可以传递Lambda表达式,对数据进行过滤 Predicate中的抽象方法: boolean test(T t); //创建一个Stream流StreamString stream Stream.of(张三丰, 张翠山, 赵敏, 周芷若, 张无忌);//对Stream流中的元素进行过滤,只要姓张的人StreamString stream2 stream.filter(name - name.startsWith(张));//遍历stream2流stream2.forEach(name - System.out.println(name));/*Stream流属于管道流,只能被消费(使用)一次第一个Stream流调用完毕方法,数据就会流转到下一个Stream上而这时第一个Stream流已经使用完毕,就会关闭了所以第一个Stream流就不能再调用方法了IllegalStateException: stream has already been operated upon or closed*///遍历stream流stream.forEach(name - System.out.println(name));Stream流中的常用方法_map:用于类型转换 如果需要将流中的元素映射到另一个流中可以使用map方法. Stream map(Function? super T, ? extends R mapper); 该接口需要一个Function函数式接口参数可以将当前流中的T类型数据转换为另一种R类型的流。 Function中的抽象方法: R apply(T t);
//获取一个String类型的Stream流StreamString stream Stream.of(1, 2, 3, 4);//使用map方法,把字符串类型的整数,转换(映射)为Integer类型的整数stream.map(s - Integer.parseInt(s)).forEach(i - System.out.println(i));Stream流中的常用方法_count:用于统计Stream流中元素的个数 long count(); count方法是一个终结方法,返回值是一个long类型的整数 所以不能再继续调用Stream流中的其他方法了 ArrayListInteger list new ArrayList();list.add(1);list.add(2);list.add(3);list.add(4);list.add(5);list.add(6);list.add(7);//获取一个Stream流统计元素个数long count list.stream().count(); // count野心很大System.out.println(count);Stream流的收集方法 R collect(Collector collector)
它是通过工具类Collectors提供了具体的收集方式public static T Collector toList()把元素收集到List集合中public static T Collector toSet()把元素收集到Set集合中public static Collector toMap(Function keyMapper,Function valueMapper)把元素收集到Map集合中//创建List集合对象ListString list new ArrayListString();list.add(林青霞);list.add(张曼玉);list.add(王祖贤);list.add(柳岩);//需求1得到名字为3个字的流StreamString listStream list.stream().filter(s - s.length() 3);//需求2把使用Stream流操作完毕的数据收集到List集合中并遍历ListString names listStream.collect(Collectors.toList());for (String name : names) {System.out.println(name);}//创建Set集合对象SetInteger set new HashSetInteger();set.add(10);set.add(20);set.add(30);set.add(33);set.add(35);//需求3得到年龄大于25的流StreamInteger setStream set.stream().filter(age - age 25);//需求4把使用Stream流操作完毕的数据收集到Set集合中并遍历SetInteger ages setStream.collect(Collectors.toSet());for (Integer age : ages) {System.out.println(age);}//定义一个字符串数组每一个字符串数据由姓名数据和年龄数据组合而成String[] strArray {林青霞,30, 张曼玉,35, 王祖贤,33, 柳岩,25};//需求5得到字符串中年龄数据大于28的流StreamString arrayStream Stream.of(strArray).filter(s - Integer.parseInt(s.split(,)[1]) 28);//需求6把使用Stream流操作完毕的数据收集到Map集合中并遍历字符串中的姓名作键年龄作值MapString, Integer map arrayStream.collect(Collectors.toMap(s - s.split(,)[0],s - Integer.parseInt(s.split(,)[1])));SetString keySet map.keySet();for (String key : keySet) {System.out.println(key ,, map.get(key));}Stream流中的常用方法_skip:用于跳过元素 如果希望跳过前几个元素可以使用skip方法获取一个截取之后的新流 Stream skip(long n); 如果流的当前长度大于n则跳过前n个否则将会得到一个长度为0的空流。
//获取一个Stream流String[] arr {美羊羊,喜洋洋,懒洋洋,灰太狼,红太狼};StreamString stream Stream.of(arr);//使用skip方法跳过前3个元素stream.skip(3).forEach(name - System.out.println(name));Stream流中的常用方法_concat:用于把流组合到一起 如果有两个流希望合并成为一个流那么可以使用Stream接口的静态方法concat static Stream concat(Stream? extends T a, Stream? extends T b) //创建一个Stream流StreamString stream1 Stream.of(张三丰, 张翠山, 赵敏, 周芷若, 张无忌);//获取一个Stream流String[] arr {美羊羊,喜洋洋,懒洋洋,灰太狼,红太狼};StreamString stream2 Stream.of(arr);//把以上两个流组合为一个流Stream.concat(stream1, stream2).forEach(name - System.out.println(name));