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 중국어 웹사이트의 기타 관련 기사를 참조하세요!