Merge pull request #1761 from luckymorning/v5-dev

增加列表分页并逐页返回数据的工具方法
This commit is contained in:
Golden Looly
2021-08-17 21:34:09 +08:00
committed by GitHub
2 changed files with 53 additions and 0 deletions

View File

@@ -100,6 +100,25 @@ public class ListUtilTest {
PageUtil.setFirstPageNo(1);
int[] d1 = ListUtil.page(0,8,a).stream().mapToInt(Integer::valueOf).toArray();
Assert.assertArrayEquals(new int[]{1,2,3,4,5},d1);
List<List<Integer>> pageListData = new ArrayList<>();
ListUtil.page(a, 2, pageListData::add);
Assert.assertArrayEquals(new int[]{1, 2}, pageListData.get(0).stream().mapToInt(Integer::valueOf).toArray());
Assert.assertArrayEquals(new int[]{3, 4}, pageListData.get(1).stream().mapToInt(Integer::valueOf).toArray());
Assert.assertArrayEquals(new int[]{5}, pageListData.get(2).stream().mapToInt(Integer::valueOf).toArray());
pageListData.clear();
ListUtil.page(a, 2, pageList -> {
pageListData.add(pageList);
if (pageList.get(0).equals(1)) {
pageList.clear();
}
});
Assert.assertArrayEquals(new int[]{}, pageListData.get(0).stream().mapToInt(Integer::valueOf).toArray());
Assert.assertArrayEquals(new int[]{3, 4}, pageListData.get(1).stream().mapToInt(Integer::valueOf).toArray());
Assert.assertArrayEquals(new int[]{5}, pageListData.get(2).stream().mapToInt(Integer::valueOf).toArray());
}
@Test