java手动分页类
package com. example. demo. fenye;
import java. util. ArrayList;
import java. util. List;
public class PageUtil {
public static < T> List< T> getPageSizeDataForRelations ( List< T> datas, int pageSize, int pageNo) {
int startNum = ( pageNo- 1 ) * pageSize+ 1 ;
if ( startNum > datas. size ( ) ) {
return null;
}
List< T> res = new ArrayList < > ( ) ;
int rum = datas. size ( ) - startNum;
if ( rum < 0 ) {
return null;
}
if ( rum == 0 ) {
int index = datas. size ( ) - 1 ;
res. add ( datas. get ( index) ) ;
return res;
}
if ( rum / pageSize >= 1 ) {
for ( int i= startNum; i< startNum + pageSize; i++ ) {
res. add ( datas. get ( i- 1 ) ) ;
}
return res;
} else if ( ( rum / pageSize == 0 ) && rum > 0 ) {
for ( int j = startNum ; j<= datas. size ( ) ; j++ ) {
res. add ( datas. get ( j- 1 ) ) ;
}
return res;
} else {
return null;
}
}
public static void main ( String[ ] args) {
List< String> datas = new ArrayList < > ( ) ;
datas. add ( "user1" ) ;
datas. add ( "user2" ) ;
datas. add ( "user3" ) ;
datas. add ( "user4" ) ;
datas. add ( "user5" ) ;
datas. add ( "user6" ) ;
datas. add ( "user7" ) ;
datas. add ( "user8" ) ;
datas. add ( "user9" ) ;
datas. add ( "user10" ) ;
datas. add ( "user11" ) ;
datas. add ( "user12" ) ;
datas. add ( "user13" ) ;
int pageSize = 5 ;
int pageNo = 2 ;
List< String> res = getPageSizeDataForRelations ( datas, pageSize, pageNo) ;
for ( String one : res) {
System. out. println ( one) ;
}
}
}