前言
今天我们来说一下JDK8之stream流的使用方法,stream的使用方法有很多,本篇文章主要是围绕着截断方法和跳过方法来阐述。下面一起来看一下吧。
JDK8之stream流的使用:截断、跳过
stream流的方法太多了,昨天我们在文章中讲到了filter方法,下面就是要说截断limit方法,跳过skip方法。
limit方法
首先,这个方法是会返回一个比原有流长度小的一个流,需要传入一个参数,用来指定要截断的长度。
使用起来也与其他方法类似,就是直接在stream后进行调用即可。
public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("张三"); list.add("张四"); list.add("张五"); list.add("赵三"); list.add("赵四"); list.add("赵五"); System.out.println(list.stream().limit(3).collect(Collectors.toList())); }
上述代码的执行记录就会是前三个名称,因为我们在limit中传入了一个3的长度。
这个方法也可以同filter方法共同使用,先筛选完成后进行截断结果,保证返回的集合长度固定。
skip方法
skip方法,功能是传入一个数字,执行完成后返回一个流,但会跳过指定数字长度的数据。最后得到的流会比一开始的要少。
如果数字过大,比原本的流的长度还要长,那就会返回一个空的流。
还是要看一下使用示例:
public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("张三"); list.add("张四"); list.add("张五"); list.add("赵三"); list.add("赵四"); list.add("赵五"); System.out.println(list.stream().skip(3).collect(Collectors.toList())); }
其实skip方法与limit方法有相反的功效,limit是截断前几个,skip是跳过前几个。
两个方法相互理解就会更好理解了。
总结
今天我们学习了JDK8中stream的skip方法和limit方法,大家是否学到了些什么呢?感兴趣的可以持续关注专栏哈。