[Java] ArrayList 삭제 시, 유의할 점

19·2022년 9월 5일
0

Java

목록 보기
3/13

ArrayList

기존의 Vector를 개선한 것
Vector는 동기화되어 있고, ArrayList는 동기화 x
List 인터페이스를 구현했기때문에, 저장순서가 유지되고 중복 허용 o
데이터의 저장공간으로 배열을 사용

유의할 점

삭제 시, 앞부터 삭제가 아니라, 뒤부터 삭제해야 함

public class ExArrayList_1 {

    public static void main(String[] args) {
        // ArrayList 생성
        ArrayList<String> list = new ArrayList<>();

        // ArrayList 요소 추가
        list.add("토미야스");
        list.add("제주스");
        list.add("살리바");
        list.add("사카");

        System.out.println(list);

        for(int i=0; i<list.size()-1; i++) {
            list.remove(i);
        }
        System.out.println(list);

    }
}
[출력]
[토미야스, 제주스, 살리바, 사카]
[제주스, 사카]
  • 삭제가 제대로 되지 않는 것을 확인할 수 있다.
  • 리스트의 앞부터 삭제하면, 자리이동이 일어나기 때문에 깔끔하게 삭제할 수 없다.

public class ExArrayList_1 {

    public static void main(String[] args) {
        // ArrayList 생성
        ArrayList<String> list = new ArrayList<>();

        // ArrayList 요소 추가
        list.add("토미야스");
        list.add("제주스");
        list.add("살리바");
        list.add("사카");

        System.out.println(list);

        for (int i = list.size()-1; i >= 0; i--) {
            list.remove(i);
        }
        System.out.println(list);

    }
}
[출력]
[토미야스, 제주스, 살리바, 사카]
[]
  • 제대로 삭제된 것을 확인할 수 있다.
    리스트의 뒤부터 삭제하면, 자리이동이 일어나지 않아 깔끔하게 삭제할 수 있다.

ArrayList 삭제 시, 깔끔하게 삭제하려면 뒤부터 삭제하자!

profile
하나씩 차근차근

1개의 댓글

comment-user-thumbnail
2023년 9월 6일

감사합니다!

답글 달기