Backend/JAVA / / 2021. 9. 3. 20:25

[JAVA] 배열 - 배열의 크기를 증가 시키고 요소 삽입

int [] m = { 1, 2, 3 }; 와 같이 선언한 배열이 있습니다.

m[2] 위치에 100이라는 값을 삽입하고 기존에 있던 m[2] 요소 값 부터는 뒤로 미루는 코딩을 진행해보겠습니다.

기존 값
100 요소 삽입 후 출력 값

 

전체 소스 코드
public class Review06 {

	public static void main(String[] args) {

		int [] m = {1,2,3}; // 요소 값 3개인 배열 선언
		m = test(m); // test 함수 호출
		
		// 배열의 마지막 인덱스부터 우리가 바꾸고 싶은 인덱스 전까지 반복문을 돌린다.
		for (int i = m.length-1; i > 1; i--) { // 뒤에 것부터 한칸 미루고 100을 삽입하겠다.
			m[i] = m[i-1]; // 인덱스i-1의 값을 인덱스 i로 이동			
		}
		
		m[2] = 100; // index m[2]에 100 요소 삽입
		
		String regex = ",";
		for (int i = 0; i < m.length; i++) {
			System.out.print(String.format("[%s]", m[i]));
		}
	} //main

	private static int[] test(int[] m) {
		int [] temp = new int[6];
		for (int i = 0; i < m.length; i++) {
			temp[i] = m[i]; // m[i]의 요소 값을 temp[i]에 대입
		}
		return temp; // temp 주소값을 가지고 return
	} //test

}
출력 값

 


크기가 더 큰 배열에 요소 값 대입 (test 함수 선언)
	private static int[] test(int[] m) {
		int [] temp = new int[6];	// 크기가 6인 temp 배열 선언
		for (int i = 0; i < m.length; i++) {
			temp[i] = m[i]; 
		}
		return temp;
	} //test

첫 번째 위와 같이 temp[] 라는 임시 배열을 선언하여 그 크기를 6으로 지정한 후 기존의 m[] 배열의 요소 값을 옮겨 줍니다. 여기서 중요한 것은 return 값으로 temp의 주소 값을 반환해주어야 한다는 것입니다.

 

main 함수
	public static void main(String[] args) {
		int [] m = {1,2,3};
		m = test(m);
		m[2] = 100;
		String regex = ",";
		for (int i = 0; i < m.length; i++) {
			System.out.print(String.format("[%s]", m[i]));
		}
	} //main

main 함수에서는 test함수를 호출한 후 m[2] 자리에 100을 삽입해 줍니다.

이때 test함수를 호출하여 return 받은 temp 배열의 주소값을 m 배열에 참조 해주어야 하는것이 중요합니다.

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유