반응형
주어진 수의 요소로 목록 자르기
어떤 방법 (예 : 처음 100 개 요소)으로 목록을 잘라내어 다른 요소를 버리는가? (개별 요소를 반복하지 않고)?
사용 List.subList:
import java.util.*;
import static java.lang.Math.min;
public class T {
public static void main( String args[] ) {
List<String> items = Arrays.asList("1");
List<String> subItems = items.subList(0, min(items.size(), 2));
// Output: [1]
System.out.println( subItems );
items = Arrays.asList("1", "2", "3");
subItems = items.subList(0, min(items.size(), 2));
// Output: [1, 2]
System.out.println( subItems );
}
}
subList항목에 대한보기 를 리턴 한다는 점을 명심해야 합니다. 따라서 나머지 목록을 가비지 콜렉션에 적합하게하려면 원하는 항목을 새 항목으로 복사해야합니다 List.
List<String> subItems = new ArrayList<String>(items.subList(0, 2));
목록이 지정된 크기보다 짧은 경우 범위를 벗어난 예외가 예상 됩니다. 원하는 크기의 최소값과 목록의 현재 크기를 끝 인덱스로 선택하십시오.
마지막으로, 두 번째 인수는 마지막으로 원하는 인덱스보다 하나 더 많아야합니다.
list.subList(100, list.size()).clear();
또는:
list.subList(0, 100);
subList다른 답변에서 제안한 것처럼 가장 먼저 떠 오릅니다. 나는 또한 스트림 접근을 제안 할 것이다 .
source.stream().limit(10).collect(Collectors.toList()); // truncate to first 10 elements
source.stream().skip(2).limit(5).collect(Collectors.toList()); // discards the first 2 elements and takes the next 5
참고 URL : https://stackoverflow.com/questions/1279476/truncate-a-list-to-a-given-number-of-elements
반응형
'Programing' 카테고리의 다른 글
| 일반적인 방법을 사용하는시기와 와일드 카드를 사용하는시기는? (0) | 2020.07.29 |
|---|---|
| C ++로 짧은 리터럴을 작성하는 방법 (0) | 2020.07.29 |
| 서버에서받은 중복 헤더 (0) | 2020.07.28 |
| 안드로이드에 커스텀 라디오 버튼 추가하기 (0) | 2020.07.28 |
| 사용자의 양식 크기 조정을 비활성화하려면 어떻게합니까? (0) | 2020.07.28 |