Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Java/자바] 배열에서 요소 제거하기 본문
예제 1: ArrayList를 사용하여 특정 인덱스의 요소 제거
// 배열 선언
String[] array = {"apple", "banana", "orange", "grape", "melon"};
// ArrayList로 배열 복사
List<String> list = new ArrayList<>(Arrays.asList(array));
// 특정 인덱스의 요소 제거
int indexToRemove = 2;
list.remove(indexToRemove);
// 결과 출력
System.out.println("요소 제거 후 배열: " + list);
ArrayList를 사용하여 특정 인덱스의 요소를 제거할 수 있습니다. 해당 인덱스의 요소가 삭제된 후 ArrayList를 다시 배열로 변환하면 요소가 제거된 배열을 얻을 수 있습니다.
예제 2: 배열 요소를 한 칸씩 앞으로 당기기
// 배열 선언
String[] array = {"apple", "banana", "orange", "grape", "melon"};
// 특정 인덱스의 요소 제거
int indexToRemove = 2;
for (int i = indexToRemove; i < array.length - 1; i++) {
array[i] = array[i + 1];
}
// 마지막 요소 제거
array = Arrays.copyOf(array, array.length - 1);
// 결과 출력
System.out.println("요소 제거 후 배열: " + Arrays.toString(array));
특정 인덱스의 요소를 제거하기 위해 배열 요소를 한 칸씩 앞으로 당겨야 합니다. 그 후에는 마지막 요소를 삭제해야 합니다. 이 방법은 특정 인덱스를 기준으로 배열을 조정하므로 성능이 떨어질 수 있습니다.
예제 3: System.arraycopy() 메서드 사용
// 배열 선언
String[] array = {"apple", "banana", "orange", "grape", "melon"};
// 특정 인덱스의 요소 제거
int indexToRemove = 2;
int numToCopy = array.length - indexToRemove - 1;
System.arraycopy(array, indexToRemove + 1, array, indexToRemove, numToCopy);
array[array.length - 1] = null;
// 결과 출력
System.out.println("요소 제거 후 배열: " + Arrays.toString(array));
System.arraycopy() 메서드를 사용하여 특정 인덱스 이후의 요소를 한 칸씩 앞으로 당길 수 있습니다. 이 방법은 성능이 우수하며, 배열을 직접 조작하기 때문에 추가 메모리가 필요하지 않습니다.
'프로그래밍' 카테고리의 다른 글
[Java/자바] 두 배열 비교하는 방법 (0) | 2024.03.08 |
---|---|
[Java/자바] 2차원 배열의 길이 구하기 (0) | 2024.03.08 |
[Java/자바] 배열 분할하기 (0) | 2024.03.08 |
[Java/자바] 배열에 새로운 요소 추가하는 여러 가지 방법 (0) | 2024.03.08 |
[Java/자바] 배열에 새로운 요소 추가하는 여러 가지 방법 (0) | 2024.03.08 |