JAVA List 범위 지정 삭제 removeRange 사용 방법

List에서 값을 삭제하고 싶은 경우 remove메서드를 사용합니다.

만약 범위를 지정해 삭제하고 싶은 경우가 있습니다.

clear와 subList를 사용해 범위를 지정해 삭제할 수도 있지만 removeRange 사용해서도 범위 지정을 해 삭제할 수 있습니다.

clear와 subList를 사용해 삭제하는 방법은 아래 내용을 참조해주세요.

 

 

이번 포스팅에서는 removeRange 사용해 삭제하는 방법을 알아보겠습니다.

 

removeRange

ArrayList클래스의 removeRange메서드를 사용하면 범위를 지정해 List에서 값을 삭제할 수 있습니다.

removeRange에 파라미터로 index번호 범위를 지정해 사용합니다.

리스트.removeRange(시작 위치 인덱스 , 종료 위치 인덱스 + 1);

 

첫 번째 파라미터로는 범위의 시작 index번호를 지정합니다.

두 번째 파라미터에는 삭제하고 싶은 마지막 index번호 + 1을 지정합니다.

샘플을 보면서 사용 방법을 확인해보겠습니다.

import java.util.ArrayList;
 
public class Main extends ArrayList{
 
    public static void main(String[] args) {
        Main names = new Main();
        names.add("White");
        names.add("Yellow");
        names.add("Red");
        names.add("Blue");
        names.add("Black");
     
        // 삭제전 요소를 출력
        System.out.println(names);
     
        // index번호 1과 2를 삭제
        names.removeRange(1, 3);
     
        // 삭제후 요소를 출력
        System.out.println("---------------------------");
        System.out.println(names);
    }
 
}

 

결과

[White, Yellow, Red, Blue, Black]
---------------------------
[White, Blue, Black]

 

removeRange메서드는 액세스 수식자가 protected에 정의되어 있기 때문에 다른 클래스에서 사용할 수 없습니다.

사용하려면 ArrayList클래스를 계승하는 서브 클래스에서 호출할 필요가 있습니다.

샘플 코드에서는 removeRange를 사용하기 위해서 Main클래스가 ArrayList클래스를 계승하고 있습니다.

ArrayList클래스의 서브 클래스 Main의 객체 names에서 removeRange메서드를 호출하고 사용하고 있습니다.

removeRange메서드에서는 삭제하고 싶은 범위를 지정해 요소를 삭제했습니다.

댓글