
๐ ์ค๋์ ํ์ต ํค์๋
- java ๋ฐฐ์ด
๐ ๋ฐฐ์ด(array, [ ])
๊ฐ์ ํ์ ์ ๋ณ์๋ฅผ ์ฌ์ฉํ๊ธฐ ํธํ๊ฒ ํ๋๋ก ๋ฌถ์ด๋ ๊ฒ์ด๋ค. ๋ฐฐ์ด์ ์์ฑ๋ ๋ ๊ฐ ํ์ ๋ณ ์ด๊ธฐ๊ฐ์ผ๋ก ์ด๊ธฐํ๋์ด ์ฑ์์ง๋ค. ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ๋ฏธ๋ฆฌ ์ ํด์ฃผ๊ณ , ์ธ๋ฑ์ค๋ฅผ ์ ํด์ค๋ค. ๋ค์๊ณผ ๊ฐ์ด ์ ์ธํ๋ค.
- ๋ณ์ํ์ [ ] ๋ณ์๋ช ;
- ๋ณ์ํ์ ๋ณ์๋ช [ ];
// ๋ฐฐ์ด ์ ์ธ
// ์ผ๋ฐ์ ์ธ ์ ์ธ๋ฐฉ์
int[] intArray; // ์ ์ ๋ฐฐ์ด
long[] longArray;
double[] doubleArray; // ์ค์ ๋ฐฐ์ด
char[] charArray; // ๋ฌธ์ ๋ฐฐ์ด
String[] stringArray; // ๋ฌธ์์ด ๋ฐฐ์ด
// ๋ฐฐ์ด ์ ์ธ
// 2๋ฒ์งธ ์ ์ธ๋ฐฉ์
int intArray[]; // ์ ์ ๋ฐฐ์ด
long longArray[];
double doubleArray[]; // ์ค์ ๋ฐฐ์ด
char charArray[]; // ๋ฌธ์ ๋ฐฐ์ด
String stringArray[]; // ๋ฌธ์์ด ๋ฐฐ์ด
- ์ธ๋ฑ์ค(index)
๋ฐฐ์ด์ 0๋ถํฐ ์์ํ๋ค. ์ธ๋ฑ์ค์ ๋ฒ์๋ 0 ~ (n-1)์ด ๋๋ค. ๋ฐฐ์ด์ ๊ฐ์ ์ฝ๊ณ ๋์ ํ ์ ์๋ค.
// ๋ฐฐ์ด ์์ฑ
int[] students = new int[5];
//๋ณ์ ๊ฐ ๋์
students[0] = 90;
students[1] = 80;
//๋ณ์ ๊ฐ ์ฌ์ฉ
System.out.println("ํ์1 ์ ์: " + students[0]);
System.out.println("ํ์2 ์ ์: " + students[1]);
- ๊ฐ์ ๋ณต์ฌ
๋ฐฐ์ด์ ์ฐธ์กฐํ ๋ณ์์ด๋ค. ์ค์ ๊ฐ์ด ์๋ ์ค์ ๊ฐ์ ์ฃผ์๊ฐ์ ๊ฐ์ง๋ค. ๋ฐ๋ผ์ ๋์ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ฃผ์ ๊ฐ๋ง ๋ณต์ฌ๋๋ ์์ ๋ณต์ฌ๊ฐ ๋๊ณ , ์๋ก์ด ๋ฐฐ์ด์ ๋๊ฐ์ด ๋ง๋ค๊ณ ์ถ์ ๋๋ ๊น์ ๋ณต์ฌ๋ฅผ ํ๋ค.
// ์์ ๋ณต์ฌ
int[] a = { 1, 2, 3, 4 };
int[] b = a; // ์์ ๋ณต์ฌ
b[0] = 3; // b ๋ฐฐ์ด์ 0๋ฒ์งธ ์๋ฒ๊ฐ์ 3์ผ๋ก ์์ ํ์ต๋๋ค. (1 -> 3)
System.out.println(a[0]); // ์ถ๋ ฅ 3 <- a ๋ฐฐ์ด์ 0๋ฒ์งธ ์๋ฒ๊ฐ๋ 3์ผ๋ก ์กฐํ๋ฉ๋๋ค.
// ๊น์ ๋ณต์ฌ
int[] a = { 1, 2, 3, 4 };
int[] b = new int[a.length];
for (int i = 0; i < a.length; i++) {
b[i] = a[i]; // ๊น์ ๋ณต์ฌ
}
b[0] = 3; // b ๋ฐฐ์ด์ 0๋ฒ์งธ ์๋ฒ๊ฐ์ 3์ผ๋ก ์์ (1 -> 3)
System.out.println(a[0]); // ์ถ๋ ฅ 1 <- ๊น์ ๋ณต์ฌ๋ฅผ ํ๊ธฐ๋๋ฌธ์ a ๋ฐฐ์ด์ ๊ทธ๋๋ก
// ๊น์ ๋ณต์ฌ ๋ฉ์๋
// 1. clone() ๋ฉ์๋
int[] a = { 1, 2, 3, 4 };
int[] b = a.clone(); // ๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฉ๋ฒ
// ํ์ง๋ง, clone() ๋ฉ์๋๋ 2์ฐจ์์ด์ ๋ฐฐ์ด์์๋ ์์ ๋ณต์ฌ๋ก ๋์
// ๊น์ ๋ณต์ฌ ๋ฉ์๋
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
// 2. Arrays.copyOf() ๋ฉ์๋
int[] a = { 1, 2, 3, 4 };
int[] b = Arrays.copyOf(a, a.length); // ๋ฐฐ์ด๊ณผ ํจ๊ป length๊ฐ๋ ๊ฐ์ด ๋ฃ์ด์ค๋ค
}
}
- 2์ฐจ์ ๋ฐฐ์ด
2์ฐจ์ ๋ฐฐ์ด์ ํ(row)๊ณผ ์ด(column)๋ก ๊ตฌ์ฑ๋๋ค. ๋จผ์ ํ ๋ฒํธ๋ฅผ ์ฐพ๊ณ , ์ด ๋ฒํธ๋ฅผ ์ฐพ์ผ๋ฉด ๋๋ค.
public class Arr {
public static void main(String[] args) {
// 2x3 2์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ ๋ค.
int[][] arr = new int[2][3]; // ํ(row), ์ด(column)
arr[0][0] = 1; // 0ํ, 0์ด
arr[0][1] = 2; // 0ํ, 1์ด
arr[0][2] = 3; // 0ํ, 2์ด
arr[1][0] = 4; // 1ํ, 0์ด
arr[1][1] = 5; // 1ํ, 1์ด
arr[1][2] = 6; // 1ํ, 2์ด
// 0ํ ์ถ๋ ฅ
System.out.print(arr[0][0] + " "); // 0์ด ์ถ๋ ฅ
System.out.print(arr[0][1] + " "); // 1์ด ์ถ๋ ฅ
System.out.print(arr[0][2] + " "); // 2์ด ์ถ๋ ฅ
System.out.println(); // ํ ํ์ด ๋๋๋ฉด ๋ผ์ธ์ ๋ณ๊ฒฝํ๋ค.
// ์ถ๋ ฅ ๊ฒฐ๊ณผ 1 2 3
// 1ํ ์ถ๋ ฅ
System.out.print(arr[1][0] + " "); // 0์ด ์ถ๋ ฅ
System.out.print(arr[1][1] + " "); // 1์ด ์ถ๋ ฅ
System.out.print(arr[1][2] + " "); // 2์ด ์ถ๋ ฅ
System.out.println(); // ํ ํ์ด ๋๋๋ฉด ๋ผ์ธ์ ๋ณ๊ฒฝํ๋ค.
// ์ถ๋ ฅ ๊ฒฐ๊ณผ 4 5 6
}
}
๐ ์ค๋์ ํ๊ณ
๋ฐฐ์ด์ ๋ํด ์ ๋ฆฌํด ๋ณด์๋ค. ๊ฐ์ธ ๊ณผ์ ๋ฅผ ํ๋ฉด์ TIL์ ์ฐ๋ ค๋๊น ํ ์ผ์ด ๋๋ฌด ๋ง์์ง ๊ฒ ๊ฐ๋ค. ๊ฐ์ธ ๊ณผ์ ๋ฅผ ์งํํ๋๋ผ๋ ์๊ฐ ๋ถ๋ฐฐ๋ฅผ ์ํด์ ํ๋ฃจ ๊ณํ๋๋ก ์์ง์ฌ๋ด์ผ๊ฒ ๋ค. ๊ณผ์ ๋ฅผ ์งํํ๋ฉด์ ๊ตฌ๊ธ๋ง๋ ํด๋ณด๋ฉด์ ์ฐพ์๋ดค๋๋ฐ ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋๋ฅผ ๋ณด๋ฉด์ ํด์ํ๋ ๋ฅ๋ ฅ์ ์์ง๊น์ง ๋ถ์กฑํ ํธ์ด๋ผ ๋ด๋ ์ ๋ชจ๋ฅด๊ฒ ๋ค..
๐ ๋ด์ผ ์ด๋ค ๊ณต๋ถ๋ฅผ ์งํํ ๊ฒ์ธ์ง
๊ฐ์ธ ๊ณผ์ ๋ฅผ ์งํํ๋ฉด์ ์ปฌ๋ ์ ์ ๋ํด ์ ๋ฆฌํ ์์ ์ด๋ค.