>  기사  >  Java  >  Java의 목록 분할 작업 방법 소개

Java의 목록 분할 작업 방법 소개

黄舟
黄舟원래의
2017-09-26 10:00:041998검색

이 기사에서는 주로 Java의 목록 분할 작업 예제에 대한 정보를 소개합니다. 이 기사를 통해 모든 사람이 목록 분할의 구현 방법을 익힐 수 있기를 바랍니다. 도움이 필요한 친구는

Java의 목록 분할 작업 예제

를 참조할 수 있습니다.

문제: 시스템 A가 매우 큰 목록을 쿼리하고 이제 시스템 B가 보고서를 내보내기 위해 이 목록을 가져오려고 하지만 시스템 B의 배포 환경 조건이 제한되어 있고 메모리가 이러한 큰 목록을 수용할 수 없다고 가정합니다. 목록을 분할하여 하나씩 내보냅니다.

기존 방법을 따르면 더 번거로울 수 있습니다. List에서 subList 메소드를 사용하여 구현할 수 있습니다. 코드는 다음과 같습니다.


import java.util.ArrayList;
import java.util.List;

public class listTest {

  public static void main(String[] args) {
    List<String> list = new ArrayList<String>();
    list.add("aaa");//index_0
    list.add("bbb");//index_1
    list.add("ccc");//index_2
    list.add("ddd");//index_3
    list.add("eee");//index_4
    list.add("fff");//index_5
    list.add("ggg");//index_6

    int flag = 3;//每次取的数据

    int size = list.size();
    int temp = size / flag + 1;
    boolean special = size % flag == 0;
    List<String> cutList = null;
    for (int i = 0; i < temp; i++) {
      if (i == temp - 1) {
        if (special) {
          break;
        }
        cutList = list.subList(flag * i, size);
      } else {
        cutList = list.subList(flag * i, flag * (i + 1));
      }
      System.out.println("第" + (i + 1) + "组:" + cutList.toString());
    }
  }
}

Test:

1, flag = 1


第1组:[aaa]
第2组:[bbb]
第3组:[ccc]
第4组:[ddd]
第5组:[eee]
第6组:[fff]
第7组:[ggg]

2, 플래그 = 2


第1组:[aaa, bbb]
第2组:[ccc, ddd]
第3组:[eee, fff]
第4组:[ggg]

3, 플래그 = 10


第1组:[aaa, bbb, ccc, ddd, eee, fff, ggg]

위 내용은 Java의 목록 분할 작업 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.