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获取更多资讯