[Java] λ°°μ΄ λ³΅μ¬ copyOf , copyOfRange
μλ°μμ λ°°μ΄μ 볡μ¬νλ λ°©λ²μ μ¬λ¬κ°μ§κ° μλ€.
for λ while κ°μ λ°λ³΅λ¬Έμ νμ©νμ¬ μ§μ κ°μ νλμ© λ£μ΄μ£Όλ λ°©λ²λ μκ³ , Arraysμ λ©μλλ₯Ό νμ©νλ λ°©λ²λ μλ€.
μ¬μ©λ°©λ²μ λ§€μ° κ°λ¨νλ€.
copyOf()
copyOf λ©μλλ
Arrays.copyOf( 볡μ¬ν λ°°μ΄, 볡μ¬ν λ°°μ΄μ ν¬κΈ° ); λ‘ μ¬μ©νλ©΄ λλ€.
μ΄ν΄νκΈ° μ½κ² λ°λ‘ μ½λλ₯Ό 보μ.
import java.util.Arrays;
public class copyOfTest {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = Arrays.copyOf(arr1, arr1.length);
for(int i=0; i<arr2.length; i++){
System.out.print(arr2[i] + " ");
}
}
}
arr2λ₯Ό μ μΈν λ,
- 볡μ¬ν λ°°μ΄: arr1
- 볡μ¬ν λ°°μ΄μ ν¬κΈ°: arr1.length -> λ£κ³ μνλ μ΄ λ²μ
λ₯Ό λ£μ΄μ£Όμλ€.
μ΄ν μΆλ ₯ν΄λ³΄λ©΄ arr1κ³Ό λκ°μ λ°μ΄ν°κ° λ€μ΄κ° κ²μ νμΈν μ μλ€.

copyOfRange( )
copyOfRange λ©μλλ "μμ μ΄ λ³΅μ¬νκ³ μ νλ λ°°μ΄μ λ²μλ₯Ό μ§μ "ν΄μ 볡μ¬ν μ μλ€.
μ΄ λν μ¬μ©λ²μ΄ κ°λ¨νλ€.
import java.util.Arrays;
public class copyOfRangeTest {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr3 = Arrays.copyOfRange(arr1, 1, 3);
for(int i=0; i<arr3.length; i++){
System.out.print( arr3[i] + " ");
}
}
}
Arrays.copyOfRange(볡μ¬ν λ°°μ΄, μμ μΈλ±μ€, λ μΈλ±μ€); μ ννλ‘ μ¬μ©νλ©΄ λλ€.
βΌ μ£Όμν μ μ 볡μ¬λλ λ°°μ΄μ "μμ μΈλ±μ€ ~ λ μΈλ±μ€-1" κΉμ§ 볡μ¬λλ€λ μ μ΄λ€.
- 볡μ¬ν λ°°μ΄: arr1
- μμ μΈλ±μ€: 1
- λ μΈλ±μ€: 3
λ°λΌμ μ μ½λλ₯Ό μΆλ ₯ν΄λ³΄λ©΄, index 1~2(3-1)κΉμ§ 2κ°μ κ°μ΄ λ€μ΄κ° κ²μ νμΈν μ μλ€.

π₯ 볡μ¬λ°λ λ°°μ΄μ΄ 볡μ¬νλ λ°°μ΄λ³΄λ€ λ²μκ° ν¬λ€λ©΄?
import java.util.Arrays;
public class defaultTest {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr3 = Arrays.copyOfRange(arr1, 1, 6);
for(int i=0; i<arr3.length; i++){
System.out.print( arr3[i] + " ");
}
}
}
arr1μ λ§μ§λ§ μΈλ±μ€λ 4μΈλ° arr3μ΄ 5(6-1)λ²μ§Έμ μΈλ±μ€κΉμ§ μ§μ νλ€λ©΄ μ΄κ³Όνλ λ²μμ λ°°μ΄ κ°μ defaultκ°μΈ 0μΌλ‘ μ±μμ§κ² λλ€.
λ°λΌμ μ μ½λμ μ€ν κ²°κ³Όλ μλμ κ°μ΄ μΆλ ₯λ κ²μ λ³Ό μ μλ€.
