> 文章列表 > Stream流的常见中间操作方法

Stream流的常见中间操作方法

Stream流的常见中间操作方法

Stream<T> fifter(Predicate predicate):用于对流中的数据进行过滤

        Predicate接口中的方法                boolean test(T t):对给定的参数进行判断,返回一个布尔值

package com.aynu24;//Stream<T> fifter(Predicate predicate):用于对流中的数据进行过滤
//
//        Predicate接口中的方法       boolean test(T t):对给定的参数进行判断,返回一个布尔值import java.util.ArrayList;public class StreamDemo2 {public static void main(String[] args) {//创建一个集合,存储多个字符串元素ArrayList<String> list=new ArrayList<String>();list.add("林青霞");list.add("张曼玉");list.add("王祖贤");list.add("柳岩");list.add("张敏");list.add("张无忌");//需求1:把list集合中以张开头的元素再控制台输出
//        list.stream().filter((String s)->{
//            return s.startsWith("张");
//        }).forEach(System.out::println);list.stream().filter(s->s.startsWith("张")).forEach(System.out::println);System.out.println("--------");//需求2:把list集合中长度为3的元素在控制台输出list.stream().filter(s -> s.length()==3).forEach(System.out::println);System.out.println("--------");//需求3:把list集合中以张开头,长度为3的元素在控制台输出list.stream().filter(s->s.startsWith("张")).filter(s->s.length()==3).forEach(System.out::println);}
}

张曼玉
张敏
张无忌
--------
林青霞
张曼玉
王祖贤
张无忌
--------
张曼玉
张无忌 

 Stream<T> limit(long maxSize):返回此流中的元素组成的流,截取前指定参数个数的数据

Stream<T>skip(long n):跳过指定参数个数的数据,返回由该流的剩余元素组成的流

package com.aynu24;//        Stream<T> limit(long maxSize):返回此流中的元素组成的流,截取前指定参数个数的数据
//
//        Stream<T>skip(long n):跳过指定参数个数的数据,返回由该流的剩余元素组成的流import java.util.ArrayList;public class StreamDemo3 {public static void main(String[] args) {//创建一个集合,存储多个字符串元素ArrayList<String> list=new ArrayList<String>();list.add("林青霞");list.add("张曼玉");list.add("王祖贤");list.add("柳岩");list.add("张敏");list.add("张无忌");//需求1:取前三个数据在控制台输出list.stream().limit(3).forEach(System.out::println);System.out.println("--------");//需求2:跳过前三个元素,把剩下的元素在控制台输出list.stream().skip(3).forEach(System.out::println);System.out.println("--------");//需求3:跳过两个元素,把剩下元素中的前两个元素在控制台中输出list.stream().skip(2).limit(2).forEach(System.out::println);}
}

林青霞
张曼玉
王祖贤
--------
柳岩
张敏
张无忌
--------
王祖贤
柳岩