java ArrayList 페이지 인스턴스 코드
개요
시스템과 시스템 간의 상호작용은 통상적으로 인터페이스를 사용하는 형식이다.만약에 B시스템이 대량의 조회 인터페이스를 제공한다고 가정하면 매번 50개의 데이터만 조회할 수 있도록 제한한다. 그러나 우리는 실제적으로 500개의 데이터를 조회해야 한다. 이때 이 500개의 데이터에 대해 분할 조작을 하고 10회로 나누어 B시스템의 대량 인터페이스를 호출할 수 있다.
만약 B시스템의 조회 인터페이스가 List를 인참으로 사용한다면, 분할 호출을 실현하려면 ArrayList의subList 방법을 이용하여 처리할 수 있다.
코드
sublist 방법의 정의:
List<E> subList(int fromIndex, int toIndex);
fromIndex와 toIndex만 정확하게 계산하면 됩니다.데이터 준비
public class TestArrayList {
public static void main(String[] args) {
List<Long> datas = Arrays.asList(new Long [] {1L,2L,3L,4L,5L,6L,7L});
}
}
페이지 나누기 알고리즘
import java.util.Arrays;
import java.util.List;
public class TestArrayList {
private static final Integer PAGE_SIZE = 3;
public static void main(String[] args) {
List<Long> datas = Arrays.asList(new Long [] {1L,2L,3L,4L,5L,6L,7L,8L});
//
Integer totalCount = datas.size();
//
Integer requestCount = totalCount / PAGE_SIZE;
for (int i = 0; i <= requestCount; i++) {
Integer fromIndex = i * PAGE_SIZE;
// PAGE_SIZE, ,toIndex totalCount
int toIndex = Math.min(totalCount, (i + 1) * PAGE_SIZE);
List<Long> subList = datas.subList(fromIndex, toIndex);
System.out.println(subList);
// , for
if (toIndex == totalCount) {
break;
}
}
}
}
테스트 장면1. 총수가 한 페이지 미만이다
2. 총수는 딱 한 페이지와 같다
3. 총 여분의 페이지
위의 세 케이스는 모두 정상적으로 통과할 수 있다.
읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.