数据 size 等于 from 修改 system 导致 lov
java.util.List 中有一个 subList 方法,用来返回一个 list 的一部分视图。
- List subList(intfromIndex,inttoIndex);
它返回原来 list 的从 [fromIndex, toIndex) 之间这一部分的视图,之所以说是视图,是因为实际上,返回的 list 是靠原来的 list 支持的。返回一个以 fromIndex 为起始索引(包含),以 toIndex 为终止索引(不包含)的子列表。
但值得注意的是,返回的这个子列表的幕后其实还是原列表;也就是说,修改这个子列表,将导致原列表也发生改变;反之亦然。
比如集合中的内容为 1,2,3,4,5list.sublist(2,4) 就返回一个子集合:它的内容包括从下标为 2 到下标为 4,而且这是左闭右开的,就是说是从大于等于 2 到小于 4,那子集内容就是 3,4(集合的下标都是从 0 开始)。
把 list 进行分页,其中 pageSize 为每页数据的个数,然后从第一页开始依次输出每页的数据直至输出完。
- 1 import java.util.ArrayList;
- 2 import java.util.List;
- 3 4
- /**
- 5 *
- 6 */
- 7 public class ListPaging {
- 8 9 public static List > paging(List list, int pageSize) {
- 10 int totalCount = list.size();
- 11 int pageCount;
- 12 int m = totalCount % pageSize;
- 13 14
- if (m > 0) {
- 15 pageCount = totalCount / pageSize + 1;
- 16
- } else {
- 17 pageCount = totalCount / pageSize;
- 18
- }
- 19 20 List > totalList = new ArrayList > ();
- 21
- for (int i = 1; i <= pageCount; i++) {
- 22
- if (m == 0) {
- 23 List subList = list.subList((i - 1) * pageSize, pageSize * (i));
- 24 totalList.add(subList);
- 25
- } else {
- 26
- if (i == pageCount) {
- 27 List subList = list.subList((i - 1) * pageSize, totalCount);
- 28 totalList.add(subList);
- 29
- } else {
- 30 List subList = list.subList((i - 1) * pageSize, pageSize * i);
- 31 totalList.add(subList);
- 32
- }
- 33
- }
- 34
- }
- 35 36
- return totalList;
- 37
- }
- 38 39 public static void main(String[] args) {
- 40 List list = new ArrayList();
- 41
- for (int i = 1; i < 52; i++) {
- 42 list.add(i);
- 43
- }
- 44 45 List > totalList = paging(list, 10);
- 46 System.out.println(totalList);
- 47
- }
- 48
- }
参考:http://blog.csdn.net/lululove19870526/article/details/46742515
使用 java.util.List 的 subList 方法进行分页
来源: http://www.bubuko.com/infodetail-2138383.html