1๏ธโฃ ๋ฐฐ์ด์์ ํน์ ์ธ๋ฑ์ค์ ์์๋ฅผ ์ญ์ ํ๊ธฐ.
Java์์ ๋ฐฐ์ด์ ํน์ ์ธ๋ฑ์ค์ ์์๋ฅผ ์ญ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ด์ ๊ตฌ์กฐ ํน์ฑ์ ์ง์ ์ ์ผ๋ก ์ ๊ณต๋์ง ์์ต๋๋ค.
๋๋ฌธ์ ์ผ๋ฐ์ ์ผ๋ก ์์๋ฅผ ์ญ์ ํ๊ธฐ ์ํด ๋ค์์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค.
2๏ธโฃ ๋ฐฐ์ด์์ ์์๋ฅผ ์ญ์ ํ๋ ๋ฐฉ๋ฒ 2๊ฐ์ง.
1๏ธโฃ ์๋ก์ด ๋ฐฐ์ด์ ์์ฑํ์ฌ ์์๋ฅผ ๋ณต์ฌํ๋ ๋ฐฉ๋ฒ :)
โ ํน์ ์ธ๋ฑ์ค์ ์์๋ฅผ ๊ฑด๋๋ฐ๊ณ ๋๋จธ์ง ์์๋ฅผ ์๋ก์ด ๋ฐฐ์ด์ ๋ณต์ฌํฉ๋๋ค.
๋ฐฉ๋ฒ 1 : ์๋ก์ด ๋ฐฐ์ด ์์ฑํ์ฌ ๋ณต์ฌ.
// ๋ฐฐ์ด์ ํน์ ์ธ๋ฑ์ค์ ์์๋ฅผ ์ญ์ ํ๋ ๋ฐฉ๋ฒ - 1
// ๋ฐฉ๋ฒ1. ์๋ก์ด ๋ฐฐ์ด์ ์์ฑํ์ฌ ์์๋ฅผ ๋ณต์ฌํ๋ ๋ฐฉ๋ฒ
// - ํน์ ์ธ๋ฑ์ค์ ์์๋ฅผ ๊ฑด๋๋ฐ๊ณ ๋๋จธ์ง ์์๋ฅผ ์๋ก์ด ๋ฐฐ์ด์ ๋ณต์ฌํฉ๋๋ค.
public class Main {
public static void main(String[] args) {
int[] array = {10, 20, 30, 40, 50};
array = removeElement(array, 0);
for (int value : array) {
System.out.println(value + " ");
}
}
// ํน์ ๋ฐฐ์ด์ ์ง์ฐ๋ ๋ฉ์๋
public static int[] removeElement(int[] array, int index) {
if (index < 0 || index >= array.length) {
throw new IndexOutOfBoundsException("Index out of bounds");
}
// ์๋ก์ด ๋ฐฐ์ด์ ํน์ ์์๋ฅผ ์ง์ฐ๊ธฐ ๋๋ฌธ์ ๊ธฐ์กด ๋ฐฐ์ด์ ํฌ๊ธฐ์์ -1 ํ ํฌ๊ธฐ๋ก ์์ฑํฉ๋๋ค.
int[] newArray = new int[array.length - 1];
for (int i = 0, j = 0; i < array.length; i++) {
if (i != index) {
newArray[j++] = array[i];
}
}
return newArray;
}
}
/*
=== ์ถ๋ ฅ ===
20
30
40
50
*/
- โ๋ฐฉ๋ฒ1์ ์ฅ.๋จ์ โ
- ์ ๋ฐฐ์ด ์์ฑ : ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ์ฆ๊ฐํ์ง๋ง, ์๋ ๋ฐฐ์ด์ ์ ์งํ๊ณ ์ถ์ ๊ฒฝ์ฐ ์ ์ฉํฉ๋๋ค.
2๏ธโฃ ๊ธฐ์กด ๋ฐฐ์ด์ ์ด์ฉํ์ฌ ์์๋ฅผ ๋ฎ์ด์ฐ๋ ๋ฐฉ๋ฒ :)
โ ํน์ ์ธ๋ฑ์ค ์ดํ์ ์์๋ค์ ์์ผ๋ก ํ ์นธ์ฉ ์ด๋์์ผ ๋ฎ์ด์๋๋ค.
๋ฐฉ๋ฒ 2 : ๊ธฐ์กด ๋ฐฐ์ด์ ์ด์ฉํ์ฌ ์์ ๋ฎ์ด์ฐ๊ธฐ.
// ๋ฐฐ์ด์ ํน์ ์ธ๋ฑ์ค์ ์์๋ฅผ ์ญ์ ํ๋ ๋ฐฉ๋ฒ - 2
// ๋ฐฉ๋ฒ2. ๊ธฐ์กด ๋ฐฐ์ด์ ์ด์ฉํ์ฌ ์์๋ฅผ ๋ฎ์ด์ฐ๋ ๋ฐฉ๋ฒ.
// - ํน์ ์ธ๋ฑ์ค ์ดํ์ ์์๋ค์ ์์ผ๋ก ํ ์นธ์ฉ ์ด๋์์ผ ๋ฎ์ด ์๋๋ค.
public class Main {
public static void main(String[] args) {
int[] array = {10, 20, 30, 40, 50};
array = removeElementInPlace(array, 0);
for (int value : array) {
System.out.println(value + " ");
}
}
public static int[] removeElementInPlace(int[] array, int index) {
if (index < 0 || index >= array.length) {
throw new IndexOutOfBoundsException("Index out of bounds");
}
for (int i = index; i < array.length - 1; i++) {
array[i] = array[i + 1];
}
// ๋ฐฐ์ด์ ๋ง์ง๋ง ์์๋ฅผ 0 ๋๋ ๋ค๋ฅธ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ (์ ํ ์ฌํญ)
array[array.length - 1] = 0;
return array;
}
}
/*
=== ์ถ๋ ฅ ===
20
30
40
50
0
*/
- โ๋ฐฉ๋ฒ2์ ์ฅ.๋จ์ โ
- ๊ธฐ์กด ๋ฐฐ์ด ์ฌ์ฉ : ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ฝํ ์ ์์ง๋ง, ๋ฐฐ์ด์ ๋ง์ง๋ง ์์๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ํด์ผ ํฉ๋๋ค.