SPRING :: NOTE

[JAVA] ArrayList 중간배열 삭제하고 나머지 데이터 시프트 (Shift) 시키기 본문

Development Language/JAVA · ANDROID

[JAVA] ArrayList 중간배열 삭제하고 나머지 데이터 시프트 (Shift) 시키기

RAYZIE 2023. 4. 28. 16:29
반응형
ArrayList<String>[] mAlUserInfo;
mAlUserInfo = new ArrayList[50];

ArrayList 배열 50개를 생성하고 각 배열안에 데이터가 있다고 가정.

중간 23번째 데이터를 삭제하고 배열을 당겨 Shift 시키고 싶은경우 아래와 같이 사용하자. (항상 다시 만들기 귀찮아서 포스팅을 남긴다.)

mAlUserInfo[23] = null;

중간배열 삭제(null 값으로 초기화)

for (int i = 23; i < mAlUserInfo.length - 1; i++) {
    mAlUserInfo[i] = mAlUserInfo[i + 1];
}
mAlUserInfo[mAlUserInfo.length - 1] = null;

나머지 데이터 시프트

23번째 배열을 삭제하고, 그 이후 배열의 데이터를 한 칸씩 시프트하고, 마지막 배열은 null로 초기화한다.

하지만, 이 방법은 데이터의 개수가 많을수록 시간 복잡도가 증가하기 때문에, 성능 이슈가 발생할 수 있다.

반응형
Comments