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]