◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
在java 8中,stream api提供了limit()和skip()方法来控制流中元素的数量。
limit(n):将流限制为前 n 个元素。
skip(n):跳过前 n 个元素并处理其余元素。
这是一个演示两者的示例:
import java.util.arrays; import java.util.list; import java.util.stream.collectors; public class streamlimitskipexample { public static void main(string[] args) { list<integer> numbers = arrays.aslist(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); // using limit() to get the first 5 elements list<integer> limitedlist = numbers.stream() .limit(5) .collect(collectors.tolist()); system.out.println("first 5 elements: " + limitedlist); // using skip() to skip the first 5 elements and get the rest list<integer> skippedlist = numbers.stream() .skip(5) .collect(collectors.tolist()); system.out.println("after skipping first 5 elements: " + skippedlist); // combining skip() and limit() to get elements from 4th to 7th positions list<integer> limitedandskippedlist = numbers.stream() .skip(3) // skip first 3 elements (index starts at 0) .limit(4) // then take the next 4 elements .collect(collectors.tolist()); system.out.println("elements from 4th to 7th positions: " + limitedandskippedlist); } }
说明:
立即学习“Java免费学习笔记(深入)”;
使用 limit(5):这将流限制为前 5 个元素,结果为 [1, 2, 3, 4, 5]。
使用skip(5):这会跳过前5个元素并收集其余元素,从而得到[6, 7, 8, 9, 10]。
结合skip(3)和limit(4):首先,它跳过前3个元素,然后限制到接下来的4个,从而得到位置4到7的元素:[4,5,6,7]。
输出:
First 5 elements: [1, 2, 3, 4, 5] After skipping first 5 elements: [6, 7, 8, 9, 10] Elements from 4th to 7th positions: [4, 5, 6, 7]
此方法对于处理分页或提取集合中的特定范围非常有用。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。