1. System 클래스의 arraycopy() 메소드 (배열의 길이를 마음대로 늘일 수 O)
2. Arrays 클래스의 copyOf() 메소드 (배열의 길이를 마음대로 늘일 수 O)
3. Object 클래스의 clone() 메소드(전 배열과 같은 길이의 배열밖에 만들 수 없음)
4. for 문과 인덱스를 이용한 복사
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] arr1 = new int[]{1, 2, 3, 4, 5};
int newLen = 10;
// 1. System 클래스의 arraycopy() 메소드
int[] arr2 = new int[newLen];
System.arraycopy(arr1, 0, arr2, 0, arr1.length);
for (int i = 0; i < arr2.length; i++) {
System.out.print(arr2[i] + " "); // 1 2 3 4 5 0 0 0 0 0
}
System.out.println();
// 2. Arrays 클래스의 copyOf() 메소드
for (int i = 0; i < arr3.length; i++) {
System.out.print(arr3[i] + " "); // 1 2 3 4 5 0 0 0 0 0
}
System.out.println();
// 3. Object 클래스의 clone() 메소드
int[] arr4 = (int[])arr1.clone();
for (int i = 0; i < arr4.length; i++) {
System.out.print(arr4[i] + " "); // 1 2 3 4 5
}
System.out.println();
// 4. for 문과 인덱스를 이용한 복사
int[] arr5 = new int[newLen];
for (int i = 0; i < arr1.length; i++) {
arr5[i] = arr1[i];
}
for (int i = 0; i < arr5.length; i++) {
System.out.print(arr5[i] + " "); // 1 2 3 4 5 0 0 0 0 0
}
}
}
|
'Java' 카테고리의 다른 글
[자바] 아스키코드에서 10진수로 바꾸기 (+10진수에서 아스키코드) (0) | 2020.01.25 |
---|---|
[자바 Java] Call by Value, Call by Reference (0) | 2020.01.19 |
[자바 Java] 제어문(break문, continue문) (0) | 2020.01.02 |
[Java] char를 int로 변환 (0) | 2019.10.08 |
[자바] String 문자열을 StringBuilder로 옮겨담기 (0) | 2019.09.20 |