我返回一个事务列表,如下所示;
List<AccountTransactions> products = accountTransactionRepository.findAll(specification);
// Currently all record are returned
List<AccountTransactionDto> transactionDtos = AccountTransactionMapper.toAccountTransactionDtoList(products)
.stream().collect(Collectors.toList());
我想返回带页码的记录
假设事务列表有22条记录。
示例1:
PageSize=2 Page=10
1 2|3 4|5 6|7 8|9 10|11 12|13 14|15 16|17 18|19 20|21 22
返回一个包含事务19和20的列表。
示例2:
PageSize=5 Page=5
1 2 3 4 5|6 7 8 9 10|11 12 13 14 15|16 17 18 19 20|21 22
返回一个包含事务21和22的列表。
如何使用Stream API实现这一点?
int pageSize = 5;
int page = 5;
List<AccountTransactionDto> transactionDtos = AccountTransactionMapper.toAccountTransactionDtoList(products)
.stream()
.skip((page - 1) * pageSize)
.limit(pageSize)
.collect(Collectors.toList());