관리 메뉴

NineTwo meet you

[자료구조] 배열 Array 본문

CS/자료구조

[자료구조] 배열 Array

NineTwo 2021. 7. 14. 01:17
반응형

배열 Array

같은 타입의 데이터들을 그룹핑해서 관리하기 위한 데이터 구조를 의미한다.

예를 들면 A반에 학생 30명이 존재한다고 가정하자.

김영희, 김철수, ..., 홍길동

각각의 학생 데이터들을 한번에 관리하면 쉽게 관리할 수 있지 않을까?

다음과 같이 index를 가진 한반이라는 배열을 통해 학생 데이터를 인덱스를 가지고 쉽게 관리할 수 있다는 생각을 할 수 있다. 이것이 배열이다.

index 0 1 ... 29
  김영희 김철수 ... 홍길동

 

배열 선언

배열을 기본적으로 하나의 값을 저장할 수 있다.

배열은 선언과 동시에 메모리를 할당할 수도 있고 선언을 하고 후에 메모리를 할당할 수도 있다.

데이터 순서에 따라 index가 부여되는데 index는 무조건 0부터 시작한다.

기본적으로 변수는 선언시 메모리 stack 영역에 생성이 되고 초기화하는 경우 해당 변수에 값이 대입된다.

배열의 경우 선언시 메모리 stack 영역에 생성이 되고 해당 영역에는 Heap의 주소값이 들어간다.

모든 배열의 요소는 기본적으로 초기화가 되어있다.

 

배열 초기값

  • 정수형(int, long) : 0 
  • 실수형(float, double) : 0.0 
  • 참조형(String) : null 
  • 문자형(char) : ' ' (공백)

 

1. 선언과 동시에 메모리를 할당

// 자료형[] 배열명 = new 자료형[배열크기]; 
// 자료형 배열명[] = new 자료형[배열크기]; 

// ex
// int 자료형을 가지는 크기가 10인 arr라는 이름을 가진 1차원 배열
int[] arr = new int[10];

// ex
// int 자료형을 가지는 크기가 3행 2열의 arr2라는 이름을 가진 2차원 배열
int[][] arr2 = new int[3][2];

2. 선언을 하고 후에 메모리를 할당

// 자료형 배열명[]; 
// 자료형[] 배열명; 
// 배열명 = new 자료형[배열크기]; 


// ex
// int 자료형을 가지는 arr라는 이름의 배열 선언
int arr[];

// arr 배열의 메모리 할당
arr = int[10];

length

배열의 길이를 확인하는 메소드다.

int len = arr.length; // 10

int row = arr2.length; // 3
int col = arr2[0].lenght; // 2

배열 장점

index를 이용해 빠른 접근이 가능하다는 점이 배열의 장점이다.

배열 단점

한번 배열의 크기를 지정하면 배열의 사이즈를 늘리거나 줄일 수 없다는 점이 단점이다.

 

반응형

'CS > 자료구조' 카테고리의 다른 글

[자료구조] 스택 Stack  (0) 2021.07.14
[자료구조] 큐 Queue  (0) 2021.07.14
Comments