1. Введение
Java 8 Stream APIсерединаskip()иlimit()метод имеет аналогичный эффект. Оба они являются промежуточными методами обрезки потоков. Сегодня мы обсудим эти два метода.
2. skip()
skip(lang n)это пропуск передnпоэлементные операции с промежуточными потоками. Мы пишем простой метод сделатьskipоперация, которая печатает оставшиеся элементы потока.
public static void skip(long n) {
Stream<Integer> integerStream = Stream.of(1, 2, 3, 4, 5, 6);
integerStream.skip(n).forEach(integer -> System.out.println("integer = " + integer));
}
После испытаний, когдаn < 0брошенный прямоIllegalArgumentExceptionаномальный. Ведь какие-то элементы приходится пропускать, а это все равно, что играть в шахматы: назад нельзя, можно только вперед. когдаn=0В то время его вернули Чжао в первоначальном виде. Мы вообще не берем на себя инициативу делать такого рода операции, это бессмысленно. когдаn=4, напечатано5и6, можно сделать вывод, что когда значение больше или равно размеру потока, не должно быть ничего, и это должен быть пустой поток для потока. Проверено точноcount=0.
то естьskip(long n)метод перед пропускомn(неотрицательные) элементы возвращают оставшийся поток, возможно, пустой поток.
3. limit()
limit(long maxsize)Мы также делаем то же самое:
public static void limit(long maxsize) {
Stream<Integer> integerStream = Stream.of(1, 2, 3, 4, 5, 6);
integerStream.limit( maxsize).forEach(integer -> System.out.println("integer = " + integer));
}
когдаn < 0брошенный прямоIllegalArgumentExceptionаномальный. когдаn=0, возвращает пустой поток. когдаn=4, напечатано1,2,3,4.n=8, печатаются все элементы. чувствовать какmysqПагинация аналогична по назначению.
4. Разница
Оба этих метода перехватывают поток. Но у них есть некоторые отличияskipОперация должна постоянно отслеживать состояние элементов в потоке. чтобы определить, нужно ли его выбрасывать. такskipЭто государственная операция.
иlimitЗаботьтесь только о перехвате его параметровmaxsize(Максимальное значение интервала), другим все равно. Как только оно достигнуто, операция прерывается и поток возвращается. такlimitОтносится к операции прерывания.
5. Резюме
Сегодняшний обзор Java Stream APIskip()иlimit()методы обсуждаются. Я не знаю, в каких сценариях вы могли бы использовать их по отдельности, пожалуйста, оставьте сообщение и дайте мне знать.
关注公众号:Felordcn获取更多资讯
Личный блог: https://felord.cn