반응형
특정 색인 뒤의 목록에서 모든 요소 제거
List / ArrayList에서 특정 인덱스 뒤에있는 List의 모든 요소를 제거 할 수있는 편리한 방법이 있습니까? 제거를 위해 수동으로 반복하는 대신.
좀 더 설명하기 위해 10 개의 요소 목록이있는 경우 색인 3을 언급하고 색인 3 이후의 모든 요소가 제거되고 내 목록은 지금 시작하는 4 개의 요소로만 구성됩니다 (0부터 계산).
list.subList(4, list.size()).clear();
하위 목록 작업은 원래 목록에 반영 되므로 색인 4를 포함하는 list.size()
모든 것에서 배타적 인 것, 즉 색인 3 이후의 모든 것까지 모든 것을 지 웁니다. 범위 제거는 특히 문서의 예제로 사용됩니다.
이 방법은 명시 적 범위 연산 (배열에 일반적으로 존재하는 정렬)이 필요하지 않습니다. 목록이 필요한 모든 작업은 전체 목록 대신 하위 목록보기를 전달하여 범위 작업으로 사용할 수 있습니다. 예를 들어 다음 관용구는 목록에서 요소 범위를 제거합니다.
list.subList(from, to).clear();
sublist () 및 clear () 사용,
public class Count
{
public static void main(String[] args)
{
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add("1");
arrayList.add("2");
arrayList.add("3");
arrayList.add("4");
arrayList.add("5");
arrayList.subList(2, arrayList.size()).clear();
System.out.println(arrayList.size());
}
}
또는 하위 목록의 요소로 새 목록을 만듭니다.
List<String> newSublist = new ArrayList<>(list.sublist(0, excludedIndex));
그리고 이전 답변의 예
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> originalList = new ArrayList<>();
originalList.add("0");
originalList.add("1");
originalList.add("2");
originalList.add("3");
originalList.add("4");
System.out.println("Original list: " + originalList);
List<String> viewSublist = originalList.subList(0, 2);
System.out.println("View of the original list: " + viewSublist);
List<String> res = new ArrayList<>(viewSublist);
System.out.println("Sublist result - new list: " + res);
originalList.set(1, "111"); // By changing original list, sublist view gets changed.
System.out.println("View of the original list after changing the original list: " + viewSublist);
System.out.println("Sublist result - new list after changing the original list - not affected: " + res);
}
}
인쇄물:
Original list: [0, 1, 2, 3, 4]
View of the original list: [0, 1]
Sublist result - new list: [0, 1]
View of the original list after changing the original list: [0, 111]
Sublist result - new list after changing the original list - not affected: [0, 1]
https://www.geeksforgeeks.org/arraylist-sublist-method-in-java-with-examples/
반응형
'developer tip' 카테고리의 다른 글
setup.py가없는 프로젝트에서 어떻게 tox를 실행합니까? (0) | 2020.12.04 |
---|---|
사용자 개입없이 앱 (웹 또는 설치된 앱)을 승인하려면 어떻게합니까? (0) | 2020.12.04 |
Java8 java.util.Date를 java.time.ZonedDateTime으로 변환 (0) | 2020.12.04 |
두 파일이 동일한 콘텐츠를 저장하는지 확인 (0) | 2020.12.04 |
.NET 4.5.2 용 타겟팅 팩이 설치되지 않음 (0) | 2020.12.04 |