1. 개요
이 빠른 사용방법(예제)에서는 Apache Commons Lang 라이브러리를 사용하여 Java의 배열에서 요소를 제거 할 수있는 다양한 방법에 대해 알아 봅니다 .
2. 메이븐
의 추가하자 공유지 - lang3의 의존성을 우리의 프로젝트에 의 pom.xml 파일 :
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>
3. 요소 제거
시작하기 전에 Apache Commons Lang 라이브러리에서 ArrayUtils 클래스를 사용하지 않고 배열에서 요소를 제거하면 어떤 일이 발생하는지 살펴 보겠습니다 .
아래 배열이 주어지면 인덱스 2 의 요소를 제거해 보겠습니다 .
이를 수행하는 간단한 방법은 배열 끝에 도달 할 때까지 인덱스 2 에 저장된 값을 인덱스 3에 저장된 값으로 바꾸는 것입니다 .
위의 방법으로 요소를 제거하면 배열의 크기는 동일하게 유지 되고 마지막 인덱스에 저장된 값은 비어있게됩니다. 배열에는 초기화 중에 할당 된 고정 메모리 크기 가 있으므로 요소를 제거해도 배열 크기가 조정되지 않습니다.
이제 Apache Commons Lang의 ArrayUtils 클래스에서 remove 메서드를 사용하여 요소를 제거 할 때 배열 표현을 살펴 보겠습니다 .
보시다시피, 여기서 배열 크기는 요소가 제거 된 후 5로 조정됩니다. 제거 방법은 새로운 배열을 생성 복사 모든 값 이외의 값은 제거된다.
ArrayUtils의 클래스는 배열로부터 요소를 제거하는 두 가지 방법을 제공한다. 다음에 이것들을 보자.
4. 색인을 입력으로 사용
요소를 제거 할 수있는 첫 번째 방법은 ArrayUtils # remove를 사용 하여 인덱스를 사용 하는 것입니다 .
public int[] removeAnElementWithAGivenIndex(int[] array, int index) {
return ArrayUtils.remove(array, index);
}
또 다른 변형은 removeAll 메서드로, 인덱스가 주어지면 배열에서 여러 요소를 제거하는 데 사용할 수 있습니다.
public int[] removeAllElementsWithGivenIndices(int[] array, int... indices) {
return ArrayUtils.removeAll(array, indices);
}
5. 요소를 입력으로 사용
또는 제거하려는 항목의 색인을 모른다고 가정 해 보겠습니다. 이 경우 ArrayUtils # removeElement를 사용하여 제거 할 요소를 제공 할 수 있습니다 .
public int[] removeFirstOccurrenceOfGivenElement(int[] array, int element) {
return ArrayUtils.removeElement(array, element);
}
이 메서드의 또 다른 유용한 변형은 ArrayUtils # removeElements입니다 . 제거하려는 요소가 두 개 이상인 경우 :
public int[] removeAllGivenElements(int[] array, int... elements) {
return ArrayUtils.removeElements(array, elements);
}
때때로 우리는 주어진 요소의 모든 발생을 제거하고 싶을 것입니다. ArrayUtils # removeAllOccurences 를 사용하면됩니다 .
public int[] removeAllOccurrencesOfAGivenElement(int[] array, int element) {
return ArrayUtils.removeAllOccurences(array, element);
}
6. 결론
이 기사에서는 Apache Commons Lang 라이브러리를 사용하여 배열에서 요소 / 요소를 제거하는 다양한 방법을 살펴 보았습니다 .
엣지 케이스에 대해 자세히 알아 보려면이 사용방법(예제)의 소스 코드와 GitHub에서 사용할 수 있는 관련 단위 테스트를 확인하세요 .
- https://docs.spring.io/spring-framework/docs/current/reference/html
- https://www.baeldung.com/java-array-remove-element
'Java' 카테고리의 다른 글
Java 메서드에서 여러 값을 반환하는 방법 (0) | 2021.03.27 |
---|---|
자바에서 두 문자열의 차이점 찾기 (0) | 2021.03.26 |
Java에서 Null 문 확인 방지 (0) | 2021.03.26 |
Java에서 날짜 증가 (0) | 2021.03.26 |
Java에서 경과 시간 측정 (0) | 2021.03.26 |