>Java >java지도 시간 >Java ArrayList를 여러 개의 작은 ArrayList로 분할하는 방법은 무엇입니까?

Java ArrayList를 여러 개의 작은 ArrayList로 분할하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-19 04:33:02435검색

How to Split a Java ArrayList into Multiple Smaller ArrayLists?

Java에서 ArrayList를 여러 개의 작은 ArrayList로 분할

특정 길이의 배열을 미리 결정된 크기의 더 작은 배열로 나누는 것은 일반적입니다. 프로그래밍 작업. Java ArrayList를 처리할 때 subList(int fromIndex, int toIndex) 메소드가 유용하다는 것이 입증되었습니다.

subList() 메소드는 지정된 fromIndex(포함)에서 시작하여 끝나는 원본 목록의 일부에 대한 뷰를 생성합니다. toIndex (독점)에서. 이 보기는 원본 목록을 기반으로 합니다.

용도를 설명하기 위해 정수 ArrayList를 고려하세요.

List<Integer> numbers = new ArrayList<>(
    Arrays.asList(5, 3, 1, 2, 9, 5, 0, 7)
);

subList()를 사용하면 더 작은 보기를 만들 수 있습니다.

List<Integer> head = numbers.subList(0, 4);
System.out.println(head); // Prints: [5, 3, 1, 2]

목록을 볼 수 없는 하위 목록으로 분리하기 위해 다음을 기반으로 새 목록을 만들 수 있습니다. 조회수:

List<List<Integer>> parts = new ArrayList<>();
final int L = 3;
final int N = numbers.size();

for (int i = 0; i < N; i += L) {
    parts.add(new ArrayList<>(list.subList(i, Math.min(N, i + L))));
}

이로 인해 여러 개의 작은 ArrayList가 생성됩니다. 그러나 수정 불가능한 버전을 만들지 않는 한 하위 목록에 대한 수정 사항은 원본 목록에 반영됩니다.

예:

List<Integer> numbers = Collections.unmodifiableList(
    Arrays.asList(5, 3, 1, 2, 9, 5, 0, 7)
);
List<List<Integer>> parts = chopped(numbers, 3);
System.out.println(parts); // Prints: [[5, 3, 1], [2, 9, 5], [0, 7]]
parts.get(0).add(-1);
System.out.println(parts); // Prints: [[5, 3, 1, -1], [2, 9, 5], [0, 7]]
System.out.println(numbers); // Prints: [5, 3, 1, 2, 9, 5, 0, 7] (unchanged)

위 내용은 Java ArrayList를 여러 개의 작은 ArrayList로 분할하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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