배열

Backend kwon·2023년 4월 13일

배열

배열이란, 동일한 타입의 값들을 하나의 묶음으로 묶은 자료 구조를 의미한다.

배열을 통해 값들을 묶어서 저장한다는 것은 메모리 공간 상에 물리적으로 값들을 모아서 저장하는 것을 의미한다.

 

1차원 배열

  • 1차원 배열을 선언할 때에는 다음과 같이 타입 뒤에 대괄호를 붙여서 선언하고 초기화한다
double[] tempOfJuly;
tempOfJuly = new double[31];

//double[] tempOfJuly = new double[31];
//위와 동일함

-배열을 가리킬 참조 변수 tempOfJuly를 선언하고, 총 31개의 double형 값을 저장할 수 있는 배열이 생성된다.
(이 때, 배열의 모든 요소는 double형의 기본값인 0.0으로 초기화되어 있음)

double[] tempOfJuly = new double[] { 25.2, 30.1, 31.5, 37.4, ... };

// 선언과 초기화를 하나의 문장으로 할 때에 한해 new double[]을 생략할 수 있다. 
double[] tempOfJuly = { 25.2, 30.1, 31.5, 37.4, ... };
  • 배열참조변수[인덱스]로 배열의 요소에 접근할 수 있다.

  • 배열의 길이는 배열참조변수.length로 얻을 수 있다.

  • 자바에서 배열 내용을 출력해보려고 배열 자체에서 toString()을 사용하면 배열의 내용이 아니라 배열의 주소값이 출력된다. 배열의 내용을 출력하려면 Arrays.toString()을 사용해야 한다.

    System.out.println(Arrays.toString(tempOfJuly));

 

2차원 배열

  • 2차원 배열은 배열의 각 요소가 또 다른 배열인 구조이다.
//2차원 배열의 선언과 초기화
int[][] kcal;
kcal = new int[30][3];

//int[][] kcal = new int[31][3]; 위와 동일
  • 외부 배열의 각 요소는 내부 배열의 주소값을 저장하고 있다.
int[][] kcal = new int[][] { 
	{ 1234, 1254, 2145 }, 
	{ 1357, 1645, 1247 }, 
	{ 1368, 2001, 2135 },
	
	...

	{ 1745, 1341, 1896 }
};

// 선언과 초기화를 하나의 문장으로 할 때에 한해 new int[][]를 생략할 수 있다. 
int[][] kcal = { 
	{ 1234, 1254, 2145 }, 
	{ 1357, 1645, 1247 }, 
	{ 1368, 2001, 2135 },
	
	...

	{ 1745, 1341, 1896 }
};

 

가변배열

  • 배열이 2차원 이상일 때, 마지막 차수에 해당하는 배열의 길이를 고정하지 않아도 되며, 이러한 배열을 가변 배열이라고 한다.

  • 가변배열의 선언 및 초기화
    int[ ][ ] ages = new int[5][ ];

  • 내부배열을 생성하려면 new int[ ]를 사용하여 외부 배열의 각 요소에 할당해주면 된다.

int[][] ages = new int[5][];

ages[0] = new int[5];
ages[1] = new int[6];
ages[2] = new int[7];
ages[3] = new int[8];  
ages[4] = new int[9];
profile
백엔드개발자를 향해서

0개의 댓글