Java Stream API limit() 和skip() 方法

java stream api limit() 和skip() 方法

在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);
    }
}

说明:

使用 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]

此方法对于处理分页或提取集合中的特定范围非常有用。

以上就是Java Stream API limit() 和skip() 方法的详细内容,更多请关注www.sxiaw.com其它相关文章!