본문 바로가기
Program/Java

[JAVA] 무명 배열, 배열 복사

by C_Meaning 2021. 6. 27.
728x90
무명 배열[anonymous array]이란?

변수 명을 가지지 않는 배열로, 즉시 배열을 생성하여 값을 전달할 때 자주 사용한다.

 

형식 : 
new int[] {1, 2, 3} //형식

sum(new int[] {1, 2, 3}); //응용 방법

 

배열 복사의 여러가지 방법

배열은 어느 프로그램이나 상당히 자주 쓰이는 자료의 집합체다.

원하는 데이터를 복사해서 따로 만들어둔 변수에 저장하고 싶을 때 어떻게 해야할까?

 

형식 : 
int[] copy_arr;
		copy_arr = array; //copy_arr가 array의 주소값을 가리키게 한다.
		System.out.println("copy_arr 배열에 들어있는 값은 : " + Arrays.toString(copy_arr));
		
		int[] copy_arr2 = Arrays.copyOf(copy_arr, copy_arr.length); //배열의 모든 값을 복사하는 방법이다. 아규먼트는 (원래 배열, 길이)를 쓴다.
		System.out.println("copy_arr2 배열에 들어있는 값은 : " + Arrays.toString(copy_arr2));

원하는 인덱스를 찝어서 그 인덱스의 요소만 복사해올수도 있다.

int[] copy_arr = new int[1]; //초기화 필수
		copy_arr[0] = array[2]; // copy_arr[0]가 array[2]의 주소값을 가리키게 한다.

 

전체 연습 코드 : 

import java.util.*;

public class array_test {

	public static void main(String[] args) {

		sum(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }); // 무명 배열. 변수선언 없이 배열의 값만 전달할 수 있다.

		int[] array = new int[] { 10, 20, 30, 40, 50 };

		System.out.println("array 배열에 들어있는 값은 : " + Arrays.toString(array)); // 문자열로 형변환하여 배열안에 요소를 모두 출력하는 방법이다. (괄호 +
																				// 콤마까지 해준다!!)

		System.out.print("array 배열에 들어있는 값은 : "); // i의 값을 확인해보자
		for (int i : array) { // array의 값이 배열의 크기만큼 반복해서 i에 대입이 된다.
			System.out.print(" " + i); // i의 값을 확인해보자
		}

		int[] copy_arr;
		copy_arr = array; // copy_arr가 array의 주소값을 가리키게 한다.
		System.out.println("\ncopy_arr 배열에 들어있는 값은 : " + Arrays.toString(copy_arr));

		int[] copy_arr2 = Arrays.copyOf(copy_arr, copy_arr.length); // 배열의 모든 값을 복사하는 방법이다. 아규먼트는 (원래 배열, 길이)를 쓴다.
		System.out.println("copy_arr2 배열에 들어있는 값은 : " + Arrays.toString(copy_arr2));

	}

	public static void sum(int[] val) {

		int sum = 0;

		for (int i : val) {
			sum += i;
		}

		System.out.println("숫자들의 합은 : " + sum);
	}

}

결과

728x90

댓글