JCF

ArrayDeque (Java Platform SE 8 )Resizable-array implementation of the Deque interface. Array deques have no capacity restrictions; they grow as necessary to support usage. They are not thread-safe; in the absence of external synchronization, they do not support concurrent access by multidocs.oracle.com java 공식 문서에서 ArrayDeque를 보면, 아래와 같은 문구를 확인할 수 있습니다.  ArrayDeque는 stack으로 사용될 때는 Stack보다 빠르고, q..
이번 포스팅에서는 JCF에서 LinkedList와 ArrayDeque가 어떻게 구현되어 있는지 살펴보겠습니다. 1.  ArrayDeque개념  Deque는 Double-Ended Queue의 줄임말로 큐의 양쪽에서 데이터를 삽입과 삭제를 할 수 있는 자료구조를 의미합니다. 그리고 이 Deque 인터페이스를 구현하는 클래스가 ArrayDeque입니다.  JCF에서 어떻게 구현되어 있나?  elements와 head, tailpublic class ArrayDeque extends AbstractCollection implements Deque, Cloneable, Serializable{ transient Object[] elements; // non-p..
지난 포스팅에서 JCF를 다루었습니다. 이번 포스팅에서는 JCF의 ArrayList에 대해 살펴보겠습니다. ArrayList와 LinkedList 차이우선, ArrayList와 LinkedList의 개념적인 차이를 통해 ArrayList를 살펴보겠습니다. ArrayListArrayList는 데이터들이 쭉 늘어선 배열의 형식입니다.  ArrayList는 데이터의 인덱스를 가지고 있어서, 탐색(시간 복잡도: O(1))이 매우 용이하지만 데이터의 삽입과 삭제에서는 인덱스들의 위치를 조절해주어야 하기 때문에 O(n)의 시간 복잡도를 가집니다.  LinkedList 반면, LinkedList는 자료의 주소값으로 서로 연결되어있는 구조입니다. 내부적으로 양방향의 연결리스트로 구현되어있습니다. 탐색 시에 순차적으로 ..
JCFJCF(Java Collections Framework)란 자바에서 데이터 구조를 구현하고 관리하기 위한 클래스와 인터페이스의 모음입니다. 쉽게 말해 자료 구조 종류의 형태를 자바 클래스로 구현한 모음집이라 볼 수 있습니다. 자바에서는 JCF를 통해 C언어와는 다르게 자료구조를 사용하기 위해서 직접 구현을 하는 것이 아니라, 인스턴스화를 해서 사용 가능합니다.  JCF는 크게 Collection 인터페이스와 Map 인터페이스로 나뉘게 됩니다. 기능적으로 공통된 부분이 많은 것끼리 모으다보니, 두 가지로 나뉘게 된 것입니다.  최상위의 Iterable 클래스는 하나의 데이터를 순회할 수 있는 특성이 있습니다. 하지만 Map 인터페이스는 두 개의 데이터를 한 쌍으로 다루는 특성이 있기 때문에 따로 분리..
동구름이
'JCF' 태그의 글 목록