java 페이지 나누기 가짜 페이지 나누기 간단한 페이지 나누기
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
* @author shuang.gao Date: 2016/1/28 Time: 12:26
*/
public class Pager<T> {
/**
*
*/
private int pageSize;
/**
*
*/
private List<T> data;
private Pager(List<T> data, int pageSize) {
if (data == null || data.isEmpty()) {
throw new IllegalArgumentException("data must be not empty!");
}
this.data = data;
this.pageSize = pageSize;
}
/**
*
*
* @param data
* @param pageSize
* @param <T>
* @return
*/
public static <T> Pager<T> create(List<T> data, int pageSize) {
return new Pager<>(data, pageSize);
}
/**
*
*
* @param pageNum
* @return
*/
public List<T> getPagedList(int pageNum) {
int fromIndex = (pageNum - 1) * pageSize;
if (fromIndex >= data.size()) {
return Collections.emptyList();
}
int toIndex = pageNum * pageSize;
if (toIndex >= data.size()) {
toIndex = data.size();
}
return data.subList(fromIndex, toIndex);
}
public int getPageSize() {
return pageSize;
}
public List<T> getData() {
return data;
}
public static void main(String[] args) {
Integer[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
List<Integer> list = Arrays.asList(array);
Pager<Integer> pager = Pager.create(list, 10);
List<Integer> page1 = pager.getPagedList(1);
System.out.println(page1);
List<Integer> page2 = pager.getPagedList(2);
System.out.println(page2);
List<Integer> page3 = pager.getPagedList(3);
System.out.println(page3);
}
}
가짜 페이지는 말 그대로 데이터베이스에서 필터를 하는 것이 아니라 데이터베이스에서 조회한 후에 모든 결과를 얻어 보여줄 때 손발을 움직인다.import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
* @author shuang.gao Date: 2016/1/28 Time: 12:26
*/
public class Pager
/**
* 페이지당 표시줄 수
*/
private int pageSize;
/**
* 원래 집합
*/
private List
private Pager(List
if (data == null || data.isEmpty()) {
throw new IllegalArgumentException("data must be not empty!");
}
this.data = data;
this.pageSize = pageSize;
}
/**
* 페이지 나누기 만들기
*
* @param 데이터는 페이지별 데이터가 필요합니다.
* @param pageSize 페이지당 표시 줄 수
* @param
* @return 페이지 나누기
*/
public static
return new Pager<>(data, pageSize);
}
/**
* 페이지별 데이터 제공
*
* @param pageNum 페이지 번호
* @return 페이지별 결과
*/
public List
int fromIndex = (pageNum - 1) * pageSize;
if (fromIndex >= data.size()) {
return Collections.emptyList();
}
int toIndex = pageNum * pageSize;
if (toIndex >= data.size()) {
toIndex = data.size();
}
return data.subList(fromIndex, toIndex);
}
public int getPageSize() {
return pageSize;
}
public List
return data;
}
public static void main(String[] args) {
Integer[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
List
Pager
List
System.out.println(page1);
List
System.out.println(page2);
List
System.out.println(page3);
}
}
이것은 간단한 페이지 나누기로서 원리가 매우 간단하다. 데이터베이스에서 조회한 데이터를 페이지 나누기에 전송하고 되돌아오는 것은 페이지 나누기의 집합이다.
장점은 모든 JDBC 데이터베이스를 호환한다는 것이다. 단점은 이런 방법은 대량의 데이터에 적용되지 않는다는 것이다.
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되기를 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.