[Java] 자료구조, 컬렉션 프레임 워크 (2)

2020. 7. 1. 02:40Language/Java

1. List 인터페이스

Collection 하위 인터페이스이다. 객체를 순서에 따라 저장하고 관리하는데 필요한 메서드가 선언된 인터페이스이다. 배열의 기능을 구현하기 위한 메서드가 선언된다(ArrayList, Vector, LinkedList).

종류 설명
Vector - 객체 배열 클래스
- Java 2 부터 제공된 클래스
- 멀티 쓰레드 프로그램에서 동기화를 지원
ArrayList - 순차적 구조를 구현한 클래스
- 배열을 구현한 클래스로 논리적 순서와 물리적 순서가 동일
LinkedList - 논리적으로 순차적인 구조지만, 물리적으로는 순차적이지 않을 수 있음

※ 일반적으로 Vector보다 ArrayList를 많이 사용된다.
※ Capacity는 ArrayList를 생성 시 특정 크기만큼 만들어지고 그 이상의 element가 들어갈 경우 배열을 다른 메모리 할당을 받아서 늘리는 용량이라면, Size는 배열 내에 몇개의 element가 있는지를 지칭한다.

1) LinkedList

LinkedListTest

2) Stack

LIFO, 맨 마지막에 추가 된 요소가 가장 먼저 꺼내지는 자료구조이다. 이미 구현된 클래스가 제공되며 ArrayList, LinkedList로 구현 할 수 있다.

StackTest

3) Queue

FIFO, 먼저 저장된 자료가 먼저 꺼내지는 자료구조이다. 선착순, 대기열등을 구현할 때 가장 많이 사용되는 자료구조로, ArrayList나 LinkedList로 구현할 수 있다.

StackTest


[참고] github.com/ozofweird/Java_Practice

728x90