728x90
배열(Array)
- 하나의 공간에 여러 개의 값을 담을 수 있다. 단, 같은 자료형의 값들이어야 한다.
- 배열의 각 index 자리에 실제 값이 담기며, index는 0부터 시작한다.
/* 배열 선언 */
int arr[];
int[] arr; // => 주로 많이 사용
/* 배열 할당*/
// 배열에 몇 개의 값이 들어갈지 배열의 크기를 정해주는 과정
// 지정한 개수만큼 값이 들어갈 공간이 만들어짐
int[] arr = new int[5]; // 선언과 동시에 할당(참조형:new)
arr[0] = "값1";
arr[1] = "값2";
...
arr[4] = "값5";
ArrayIndexOutofBoundsException => 배열의 인덱스 범위를 벗어났다.
pulic void arrayMethod(){
String[] names = new String[3];
names[0] = '홍길동';
names[1] = '가나다';
names[2] = '호랑이';
//names[100] = '제이나';
// => ArrayIndexOutofBoundsException : 100 => 배열의 인덱스 범위를 벗어났다.
for(int i=0; i<names.length; i++){
System.out.println(names[i]);
}
}
728x90
배열복사
1. 얕은 복사(Shallow Copy) : 배열의 주소값만을 복사
2. 깊은 복사(Deep Copy): 동일한 새로운 배열을 하나 생성해서 실제 내부값까지 복사
1) arraycopy() 메소드를 이용한 Deep Copy
몇 번 인덱스부터 몇 개를 어느 위치의 인덱스에 복사할 것인지 모두 지정 가능
2) copyOf() 메소드를 이용한 Deep Copy
무조건 원본배열의 0번 인덱스부터 복사가 진행됨(지정된 개수만큼)
3) clone() 메소드를 이용한 Deep Copy
728x90
'Programming > JAVA' 카테고리의 다른 글
[JAVA] 필드(Field) / 메소드(Method) / 관련 예제 (1) | 2023.12.22 |
---|---|
[JAVA] 객체지향 프로그래밍 / setter, getter / 캡슐화 encapsulation (0) | 2023.12.22 |
[JAVA] break / continue 예제 (0) | 2023.12.22 |
[JAVA] 반복문 - for문 / do-while문 / Math.random() / 구구단 출력 (1) | 2023.12.22 |
[JAVA] 조건문 - if문 / if else문 / switch문 / 관련 예제 (0) | 2023.12.22 |