ArrayList를 여러 하위 목록으로 분할
Java에서는 ArrayList를 더 작고 동일한 크기의 하위 목록으로 효율적으로 분할할 수 있습니다. 이는 한 입 크기의 청크로 데이터를 처리하거나 관리해야 하는 시나리오에 유용합니다.
subList()를 사용하여 뷰 생성
subList() 메서드 ArrayList 클래스를 사용하면 지정된 범위 내에서 원본 목록의 일부를 볼 수 있습니다. subList()에 대한 호출은 새 목록을 생성하지 않지만 기존 목록에 대한 보기를 반환합니다. 하위 목록에 대한 모든 변경 사항은 원본 목록에 반영되며 그 반대의 경우도 마찬가지입니다.
List<Integer> numbers = new ArrayList<>(Arrays.asList(5, 3, 1, 2, 9, 5, 0, 7)); List<Integer> head = numbers.subList(0, 4); // View from index 0 to index 3 (exclusive) List<Integer> tail = numbers.subList(4, 8); // View from index 4 to index 7 (exclusive)
비보기 하위 목록 생성
하위 목록이 독립적이어야 하는 경우 원본 목록의 경우 하위 목록 보기에서 새 ArrayList 개체를 명시적으로 생성할 수 있습니다.
List<List<Integer>> chopped = new ArrayList<>(); for (int i = 0; i < numbers.size(); i += L) { List<Integer> sublist = new ArrayList<>( numbers.subList(i, Math.min(numbers.size(), i + L)) ); chopped.add(sublist); }
이 접근 방식은 하위 목록의 전체 복사본을 생성하여 잘린 하위 목록의 변경 사항이 원본 목록에 영향을 미치지 않도록 합니다.
사용 예
[5, 3, 1, 2, 9, 5, 0, 7]을 포함하는 숫자라는 정수 목록을 생각해 보세요. 다음 코드를 사용하여 이 목록을 크기 3의 하위 목록 3개로 분할할 수 있습니다.
List<List<Integer>> choppedLists = chopped(numbers, 3);
choplists 변수에는 이제 3개의 목록이 포함됩니다: [[5, 3, 1], [2, 9, 5] , [0, 7]]. 원래 번호 목록을 변경하지 않고도 이러한 하위 목록을 추가로 수정할 수 있습니다.
위 내용은 Java에서 ArrayList를 여러 하위 목록으로 효율적으로 분할하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!