java - 从流中获取最后 n 个元素

标签 java java-8 java-stream

我想知道有没有替代方法

List<X> lastN = all.subList(Math.max(0, all.size() - n), all.size());

stream用法?

最佳答案

使用 Stream.skip()

Returns a stream consisting of the remaining elements of this stream after discarding the first n elements of the stream. If this stream contains fewer than n elements then an empty stream will be returned.

all.stream().skip(Math.max(0, all.size() - n)).forEach(doSomething);

关于java - 从流中获取最后 n 个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30476127/

相关文章:

java - 在存储中保存文本的权限android不工作

java - 如何使用 springboot 和 logback 按严重性将日志记录分离到不同的文件

java - 使用 Java 8 Stream API 查找枚举值

java - Java中是否有任何一致的(单调的)时钟实现?

java - Java 8 中两个列表中的字符串匹配

java - Java List.stream.forEach Lambda 表达式中未处理的 IOException

java - 为什么 Java 需要显式向下转型?

java - Reduce 任务被 Hadoop 多节点 (10x) 集群中的太多获取失败消息停止

java - 如何在 JPA 对象上使用 Java Stream API?

java-8 - 如何使用Java 8 Collectors groupingBy来获取带有集合Map的Map?