IT/자료구조

[자료구조] Java ArrayList 알아보기

코딩하는 너구리 2022. 10. 12. 23:57
반응형

2022.10.08 - [IT/자료구조] - [자료구조] 배열(Array)의 개념

 

[자료구조] 배열(Array)의 개념

오늘은 자료구조에서 가장 기본으로 다루는 배열에 대해 정리해보겠습니다. 배열이란? 같은 타입의 변수들로 이루어진 유한 집합 배열은 같은 종류의 데이터를 다뤄야 하는 경우에 사용할 수

javacoding.tistory.com

 

ArrayList 개념

ArrayList 사용 예시

 

지난번 배열에 이어 두 번째 자료구조로 Array와 비슷한 ArrayList에 대해 알아보겠습니다.

배열의 가장 큰 특징 중 하나는 크기가 고정된다는 것입니다. 배열을 생성할 때 사용할 크기를 알고 있다면 배열을 사용하는 것이 속도나 메모리 사용의 측면에서 이점이 되겠지만 사용할 배열의 크기를 알지 못하거나 수정이 필요한 경우에는 가변적인 배열이 필요하게 됩니다.

이럴때 적합한 자료구조가 바로 ArrayList입니다. 가장 큰 특징은 크기가 가변적이라는 것인데요.

 

위 그림처럼 배열로 사용하다가 공간이 가득차게 되면, 크기를 증가시켜줍니다. 

따라서

ArrayList를 가장 잘 표현할 수 있는 단어는
dynamic array 또는 resizable array 라고 할 수 있습니다.

 


ArrayList 구현

 

ArrayList 상속 구조

ArrayList는 Java Collection 프레임워크의 클래스입니다. 

 

 


ArrayList 특징

  • 배열과 유사하지만 크기 제한이 없습니다. (가변적)
  • 중복 요소를 저장할 수 있습니다.
  • 기본적으로 삽입한 순서가 보장됩니다. (index 지정 추가/삭제한 경우 제외)
  • Collection 인스턴스입니다.
  • 래퍼 클래스로만 사용 가능합니다. (기본 클래스(ex - int, char...)는 사용 불가능)

 

 

 

참조:

https://www.javatpoint.com/arraylist-implementation-in-java

https://marcus-biel.com/arraylist

https://kjhoon0330.tistory.com/m/entry/Java-ArrayList%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%ED%81%AC%EA%B8%B0%EA%B0%80-%EA%B0%80%EB%B3%80%EC%A0%81%EC%9D%BC%EA%B9%8C

반응형

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

[자료구조] 배열(Array)의 개념  (0) 2022.10.08