배열과 리스트

1. 배열 (Array)

다수의 데이터를 그룹핑해서 관리할 수 있는 자료구조이다. 인덱스가 있고 배열 크기가 고정적인 것이 특징이다. 인덱스를 통해 데이터 조회를 빠르게 할 수 있다는 점이 장점이지만 특정 엘리먼트를 삭제하면 그 공간이 빈공간으로 남아 메모리가 낭비된다는 점이 단점이 있다.

2. 리스트 (List)

배열처럼 다수의 데이터를 그룹핑해서 관리하는 자료구조로서, 순서가 있고 중복이 허용된다. 인덱스의 장점을 버리는 대신 빈공간 낭비가 없도록 데이터를 적재한다. 따라서 데이터 추가/삭제가 빠른 대신 조회는 느리다.

자바에서는 ArrayList와 LinkedList 2가지를 제공한다.

  1. ArrayList 배열을 이용해 리스트를 구현한 자료구조이다. 배열의 장단점을 어느정도 가지고 있어 조회가 빠르고 데이터 추가/삭제가 다소 느리다.

  2. LinkedList 엘리먼트와 엘리먼트 간의 연결을 이용해 리스트를 구현한 자료구조이다. ArrayList와 다르게 데이터 추가/삭제가 빠른 대신 조회는 다소 느리다.

Q) Array와 ArrayList 차이는?

내용이 길어서 이곳을 참고

Published 22 Apr 2019


jaegoon on github