Data Structure
컴퓨터와 관련하여 자료구조는 나중에 필요할 때 데이터를 쉽게 검색하고 효율적으로 사용할 수 있도록 컴퓨터 메모리에 데이터를 저장하고 구성하는 특정 방법이다.
특정 데이터 조직에 대한 논리적 또는 수학적 모델을 데이터 구조라고 하고 데이터는 다양한 방법으로 관리할 수 있습니다.
선형 자료구조 ( 한 줄로 자료를 관리 )
배열 Array
큐 Queue
스택 Stack
연결리스트 LinkedList
비선형 자료구조
트리 Tree
힙 Heap
그래프 Graph
해쉬테이블 Hash Table
Array
같은 타입의 변수들로 이루어진 집합이다.
선형
으로 데이터를 관리한다.
정해진 크기
의 메모리를 먼저 할당받아 사용한다.
자료의 물리적 위치와 논리적 위치가 같다.
배열을 구성하는 각각의 값을 배열의 요소element
라고 한다.
배열에서의 위치를 인덱스index
라고 한다.
자바에서 인덱스는 0
을 포함한 양의 정수
이고 첫 인덱스는 0
이다.
배열은 1차원, 2차원, 다차원으로 선언할 수 있다.
장점
단점
ArrayList
Java
에서는 ArrayList
클래스를 통해 가변
길이의 배열 자료구조 기능을 제공한다.
데이터의 추가add()
, 삭제remove()
등의 기능들을 제공한다.
primitive type
이 아닌 wrapper type
을 사용한다.
int[] array1 = {1,2,3};
System.out.println(array1[0]); // 1
int[] array2 = new int[3];
array2[0] = 1;
System.out.println(array2[0]); // 1
// 배열의 내용을 출력할 때 Arrays.toString() 을 사용하면 아래와 같이 출력할 수 있다.
import java.util.Arrays;
System.out.println( Arrays.toString(array1) ); // [1, 2, 3]