자바 리스트(list)에 담겨있는 내용을 일정크기로 분할해서 리스트에 담고싶을때 사용하면 편리한 library가 있습니다.
바로 구글 Guava 입니다. guava의 partition 함수를 이용하면 편리하게 list를 분할할 수 있습니다.
설정
//pom.xml
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.1-jre</version>
</dependency>
//build.gradle
dependencies {
// Pick one:
// 1. Use Guava in your implementation only:
implementation("com.google.guava:guava:31.1-jre")
// 2. Use Guava types in your public API:
api("com.google.guava:guava:31.1-jre")
// 3. Android - Use Guava in your implementation only:
implementation("com.google.guava:guava:31.1-android")
// 4. Android - Use Guava types in your public API:
api("com.google.guava:guava:31.1-android")
}
maven을 사용하시면 pom.xml의 내용을 gradle을 사용하시면 build.gradle의 내용을 추가하시면 됩니다.
구현
import com.google.common.collect.Lists;
import java.util.List;
import java.util.Arrays;
class Main
{
public static void main(String[] args)
{
// List생성
List<Integer> myList= Arrays.asList(1, 2, 3, 4, 5);
//2의 사이즈를 가지는 리스트로 분리
List<List<Integer> > lists= Lists.partition(myList, 2);
// 출력
for (List<Integer> sublist: lists)
System.out.println(sublist);
}
}
사용법은 Lists.partition(분리할list,분리할list사이즈) 로 사용하시면 됩니다. 위의 코드를 실행하면 다음과 같이 출력됩니다.
[1, 2]
[3, 4]
[5]
DB에서 select한 값을 insert를 하려는데 select 값이 너무 많을때 java에서 분할해서 저장하면 유용하게 사용할 수 있습니다.
'BACK-END > JAVA' 카테고리의 다른 글
Spring Boot : application.properties 대신 application.yml 사용하기 (0) | 2022.12.19 |
---|---|
STS : lombok(롬복) 설치 후 사용하기 (0) | 2022.12.15 |
Spring Boot : jdbcTemplate을 이용한 PostgreSQL DB연동법 (0) | 2022.12.09 |
Spring Boot Appliction이 구동 될 때 실행되는 코드 추가하기 (0) | 2022.12.07 |
댓글