이번 예제에서는 List를 어떻게 sublist로 분할(split) 하는지 살펴보겠습니다.
상대적으로 간단한 연산임에도 표준 Java Collection API에서 지원하지 않습니다. 운 좋게도 Guava나 Apache Commons Collections 에서 이런 연산을 비슷한 방법으로 구현 해 두었습니다.
2. Use Guava to partition the List
Guava의 Lists.partition 연산으로 List를 특정 사이즈의 sublist로 분할(partitioning)하기 수월합니다.
3. Use Guava to partition a Collection
Collection 분할도 Guava를 통해 가능합니다:
중요한 것은 분할된 sublist들은 원래 collection을 바라본다는 점인데 즉, 원래 collection을 변경하면 분할 partition들에도 반영된다는 뜻 입니다.
4. Use Apache Commons Collections to partition the List
Apache Commons Collection의 최근 릴리즈에도 리스트 분할을 지원하는 기능이 최근 추가되었습니다:
Commons Collection에는 Guava의 Iterables.partition과 같은 기본(raw) Collection을 분할할 수 있는 옵션기능은 없습니다.
마지막으로 결과 분할된 리스트가 원래의 리스트를 바라본다는 같은 조건이 적용됩니다.
Conclusion
위 포스트에서 제안한 방법들은 Guava나 Apache Commons Collections 와 같은 추가 라이브러리를 사용했습니다. 두 라이브러리는 가볍고 강력하면서도 매우 유용합니다. 그래서 이들 중 하나 정도는 classpath에 추가해 두면 편리합니다.
자바를 이용한 해결방법은 여기 에서 확인 할 수 있습니다.