Register now and start sharing your code snippets.
-->

Paginating a list in Java

Java posted about 1 year ago by christian

Not fully tested, but the idea works.

   1  List list = ....;                           // Example: page size is 5
   2  int originalSize = list.size();             // original size: 24
   3  int start = Math.min(list.size(), Math.abs(currentPage * pageSize));      // start: 5
   4  list.subList(0, start).clear();             // list now contains: 5, 6, 7, 8, 9,..., 23
   5  
   6  int size = list.size();                     // size is now: min(listSize, originalSize - pageSize) = 19
   7  int end = Math.min(pageSize, size);         // end: 5
   8  list.subList(end, size).clear();            // list now contains: 5, 6, 7, 8, 9
   9  
  10  boolean hasNext = (end < size);             // has next: 5 < 19
  11  boolean hasPrevious =  (start > 0);         // has previous: 5 > 0

Tagged java, pagination