π 1. λ°°μ΄μ΄λ?
λ°°μ΄(Array)μ΄λ κ°μ νμ μ μ¬λ¬ λ³μλ₯Ό νλμ λ¬ΆμμΌλ‘ λ€λ£¨λ κ²μ λ§νλ€.
λ°°μ΄μ ꡬμ±νλ κ°κ°μ κ°μ λ°°μ΄ μμ(Element)λΌκ³ νλ©°, λ°°μ΄μμμ μμΉλ₯Ό κ°λ¦¬ν€λ μ«μλ₯Ό μΈλ±μ€(Index)λΌκ³ νλ€.
π 2. λ°°μ΄ μ μΈ & μμ± & μ΄κΈ°ν
π 1. λ°°μ΄ μ μΈ
λ°°μ΄μ μ μΈνλ λ°©λ²μ μνλ νμ μ λ³μλ₯Ό μ μΈνκ³ λ³μ λλ νμ μ λ°°μ΄μμ μλ―Ένλ λκ΄νΈλ₯Ό λΆμ΄λ©΄ λλ€.
public static void main(String[] args) {
int[] numbers;
String[] names;
}
π 2. λ°°μ΄ μμ±
λ°°μ΄μ μ μΈν λ€μμλ λ°°μ΄μ μμ±ν΄μΌ νλ€. λ°°μ΄μ μ μΈνλ κ²μ λ¨μ§ μμ±λ λ°°μ΄μ λ€λ£¨κΈ° μν μ°Έμ‘°λ³μλ₯Ό μν 곡κ°μ΄ λ§λ€μ΄μ§ λΏμ΄κ³ , λ°°μ΄μ μμ±ν΄μΌλ§ λΉλ‘μ κ°μ μ μ₯ν μ μλ 곡κ°μ΄ λ§λ€μ΄μ§λ κ²μ΄λ€.
λ°°μ΄μ μμ±νκΈ° μν΄μλ μ°μ°μ 'new'μ ν¨κ» λ°°μ΄μ νμ κ³Ό κΈΈμ΄λ₯Ό μ§μ ν΄ μ£Όμ΄μΌ νλ€.
public static void main(String[] args) {
int[] numbers; // λ°°μ΄ μ μΈ
numbers = new int[10]; // λ°°μ΄ μμ±
}
λ°°μ΄ μ μΈκ³Ό μμ±μ λμμ ν μλ μλ€.
public static void main(String[] args) {
int[] numbers = new int[10];
}
π 3. λ°°μ΄ μ΄κΈ°ν
λ°°μ΄μ μμ±κ³Ό λμμ μλμ μΌλ‘ μμ μ νμ μ ν΄λΉνλ κΈ°λ³Έκ°μΌλ‘ μ΄κΈ°νκ° λλ€.
public static void main(String[] args) {
int[] numbers = new int[3];
System.out.println(Arrays.toString(numbers)); // [0, 0, 0]
}
μνλ κ°μ μ μ₯νλ €λ©΄ μλμ κ°μ΄ κ° μμλ§λ€ κ°μ μ§μ ν΄ μ€ μ μλ€.
public static void main(String[] args) {
int[] numbers = new int[3];
numbers[0] = 1;
numbers[1] = 2;
numbers[2] = 3;
System.out.println(Arrays.toString(numbers)); // [1, 2, 3]
}
λν, λ°°μ΄ μμ±κ³Ό μ΄κΈ°νλ₯Ό λμμ μ§νν μλ μλ€. λ°°μ΄μ κΈΈμ΄λ μ μ₯ν κ°μ κ°μμ μν΄ μλμΌλ‘ κ²°μ λλ€.
public static void main(String[] args) {
int[] numbers = new int[]{1, 2, 3};
System.out.println(Arrays.toString(numbers));
}
λ κ°λ¨νκ²λ μλμ κ°μ΄ μμ±ν μλ μλ€.
public static void main(String[] args) {
int[] numbers = {1, 2, 3};
System.out.println(Arrays.toString(numbers));
}
π 3. λ°°μ΄ νμ©
π 1. λ°°μ΄ μΆλ ₯
λ°°μ΄μ μΆλ ₯μ forλ¬Έμ μ΄μ©ν΄μ λ°°μ΄ κ° μμλ€μ μννλ©° μΆλ ₯νκ±°λ, Arrays.toString() λ©μλλ₯Ό μ΄μ©ν΄μ λ°°μ΄μ λ¬Έμμ΄ νμμΌλ‘ λ§λ€μ΄ μΆλ ₯ν μ μλ€.
public static void main(String[] args) {
int[] numbers = {1, 2, 3};
// 1. forλ¬Έ μ΄μ©
for(int i : numbers) {
System.out.print(i); // 123
}
// 2. Arrays.toString() μ΄μ©
System.out.println(Arrays.toString(numbers)); // [1, 2, 3]
}
νμ§λ§, λ³μλ₯Ό μ§μ μΆλ ₯νλ©΄ μ°λ¦¬κ° μνλ κ°μ΄ λμ€μ§ μκ² λλ€.
public static void main(String[] args) {
int[] numbers = {1, 2, 3};
System.out.println(numbers); // [I@6e2c634b
}
λ³μ numbersλ λ°°μ΄μ λ€λ£¨λλ° νμν μ°Έμ‘°λ³μμΌλΏ κ°μ μ μ₯νκΈ° μν 곡κ°μ΄ μλκΈ° λλ¬Έμ΄λ€.
π 2. λ°°μ΄ μ λ ¬
λ°°μ΄μ μ λ ¬μ Arrays.sort() λ©μλλ₯Ό μ΄μ©ν΄μ μ λ ¬ν μ μλ€.
public static void main(String[] args) {
// μ€λ¦μ°¨μ μ λ ¬
int[] numbers = {5, 3, 1, 2, 4};
Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers)); // [1, 2, 3, 4, 5]
// λ΄λ¦Όμ°¨μ μ λ ¬
Integer[] integerNumbers = {1, 2, 5, 3, 4};
Arrays.sort(integerNumbers, Collections.reverseOrder());
System.out.println(Arrays.toString(integerNumbers)); // [5, 4, 3, 2, 1]
}
π 3. λ°°μ΄ λΉκ΅
λ°°μ΄μ λΉκ΅λ forλ¬Έμ ν΅ν΄ κ°κ°μ μμλ₯Ό λΉκ΅νλ μμΌλ‘λ ꡬνν μ μμ§λ§, Arrays.equals() λ©μλλ₯Ό μ¬μ©ν μλ μλ€.
public static void main(String[] args) {
int[] numbers = {1, 2, 3};
int[] equalNumbers = {1, 2, 3};
int[] notEqualNumbers = {3, 2};
System.out.println(Arrays.equals(numbers, equalNumbers)); // true
System.out.println(Arrays.equals(numbers, notEqualNumbers)); // false
}
π 4. λ°°μ΄ λ³΅μ¬
λ°°μ΄μ 볡μ¬νλ 첫 λ²μ§Έ λ°©λ²μΌλ‘λ forλ¬Έμ μ΄μ©ν μ μλ€.
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
int[] tmp = new int[arr.length * 2]; // μ΄κΈ° λ°°μ΄λ³΄λ€ κΈΈμ΄κ° λλ°°μΈ μλ‘μ΄ λ°°μ΄μ μ μΈ
for(int i = 0; i < arr.length; i++)
tmp[i] = arr[i];
arr = tmp;
}
λ λ²μ§Έ λ°©λ²μΌλ‘λ System.arraycopy() λ©μλλ Arrays.copyOf() λ©μλλ₯Ό μ¬μ©νλ©΄ λλ€. Arrays.copyOf()λ System.arraycopy()λ₯Ό λνν ν¨μμΌ λΏ, λ κ°κ° λμΌνλ€κ³ 보면 λλ€.
// 1. System.arraycopy() μ΄μ©
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
int[] tmp = new int[arr.length * 2];
// (볡μ¬ν λ°°μ΄, 볡μ¬λ₯Ό μμν λ°°μ΄μ μμΉ, λΆμ¬λ£μ λ°°μ΄, 볡μ¬λ λ°°μ΄κ°λ€μ΄ λΆμ¬μ§ μμ μμΉ, 볡μ¬ν κΈΈμ΄)
System.arraycopy(arr, 0, tmp, 0, arr.length);
}
// 2. Arrays.copyOf() μ΄μ©
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
int[] tmp = new int[arr.length * 2];
tmp = Arrays.copyOf(arr, arr.length);
}
π 4. λ€μ°¨μ λ°°μ΄
μ§κΈκΉμ§λ 1μ°¨μ λ°°μ΄μ λν΄μ μ΄ν΄λ³΄μλλ°, λ€μ°¨μ λ°°μ΄(2μ°¨μ μ΄μμ λ°°μ΄)μ λν΄μλ μμ보μ. λ€μ°¨μ λ°°μ΄μ 2μ°¨μ λ°°μ΄ μμλ₯Ό ν΅ν΄μ μμ보μ.
2μ°¨μ λ°°μ΄μ μ μΈνλ λ°©λ²μ 1μ°¨μ λ°°μ΄κ³Ό λμΌνλ°, λ€λ§ κ΄νΈκ° νλ λ λ€μ΄κ° λΏμ΄λ€.
public static void main(String[] args) {
int[][] score = new int[4][3];
}
μμμ μμ±λ 2μ°¨μ λ°°μ΄μ 4ν 3μ΄μ μ μ₯ 곡κ°μ κ°μ§ μ μλ€.
π 5. κ°λ³λ°°μ΄
2μ°¨μ μ΄μμ λ€μ°¨μ λ°°μ΄μ μμ±ν λ μ 체 λ°°μ΄ μ°¨μ μ€ λ§μ§λ§ μ°¨μμ κΈΈμ΄λ₯Ό μ§μ νμ§ μκ³ , μΆνμ κ°κΈ° λ€λ₯Έ κΈΈμ΄μ λ°°μ΄μ μμ±ν¨μΌλ‘μ¨ κ³ μ λ ννκ° μλ λ³΄λ€ μ λμ μΈ κ°λ³ λ°°μ΄μ ꡬμ±ν μ μλ€.
public static void main(String[] args) {
int[][] score = new int[4][];
score[0] = new int[1];
score[1] = new int[5];
score[2] = new int[3];
score[3] = new int[6];
}
ν΄λΉ κΈμ
λ¨κΆμ± λμ 'μλ°μ μ μ',
Inpa λμ 'JAVA λ°°μ΄(Array) μλ²½ λ€λ£¨κΈ° κ°μ΄λ'
λ₯Ό μ°Έκ³ νμμ΅λλ€.
'π μλ£κ΅¬μ‘° > κ°λ ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λ°°μ΄(Array) VS λ°°μ΄ λ¦¬μ€νΈ(ArrayList) VS μ°κ²° 리μ€νΈ(LinkedList) (1) | 2023.06.11 |
---|