스택은 원소에 대해 Push, Pop 동작이 있는 집합을 제공하는 추상 데이터 타입이다.Push는 집합에 원소를 더한다Pop은 가장 최근에 더해진 원소이면서 아직 제거되지 않은 원소를 제거한다.마지막에 들어온 값을 제거하기 때문에 LIFO(Last In, First O
큐는 원소에 대해 enqueue, dequeue 동작을 가지고 있고 순서가 있는 집합을 제공하는 추상 데이터 타입이다.enqueue는 집합의 가장 끝(rear) 쪽에 원소를 추가하는 동작이다dequeue는 집합의 가장 앞(front) 쪽에 원소를 제거하는 동작이다먼저
고정된 크기의 연속적인 자료구조로 같은 타입의 원소들이 저장된다Array(배열)의 길이는 고정되어 있다인덱스를 이용해 값을 접근한다논리적 저장 순서와 물리적 저장 순서 일치메모리 관리 용이삭제할 경우 빈 공간으로 남겨둔다ArrayIndexOutOfBoundsExcept
배열과 비슷한 자료구조형이지만 편리한 기능을 더 많이 가지고 있다.Array(배열)과 달리 고정된 크기가 아니다동적으로 자료형의 갯수가 변하는 경우보통 interface 형태로 구현체를 사용한다List 인터페이스를 구현한 자료형Array의 크기 동적으로 변경addrem
Immutable, Mutable로 구분이 된다set은 중복 원소를 포함하지 않고 순서가 없는 집합이다.addaddAllclearremoveremoveAllindices값의 hash 값을 얻어서 저장hash를 이용하므로 빠르게 조회 가능Intersection(교집합)D
Map Interface를 상속하여 구현한 객체첫 생성 시 정해진 key,value 페어 외에 추가 불가능하며 수정 및 삭제도 불가능하다Interface이고구현체로 LinkedHashMap, HashMap, ConcurrentHashMap이 있다.Hashing을 통해
트리는 자주 사용되는 추상 데이터 타입이다.계층 트리 구조이며,하나의 루트노드를 가지고루트노드는 0개 이상의 자식 노드를 가지고 있다.자식 노드는 부모 노드가 될 수 있고 부모노드는 0개 이상의 자식노드를 가질 수 있다.root node : 최상단 노드parent no
트리를 기반으로 둔 자료구조이고 heap의 속성을 만족시키는 complete binary tree이다.Array의 Index를 이용해서 접근하는 방법Node를 만들어서 접근하는 방법이 존재Array 이용시 마지막에 넣어준 후 heapify 과정을 거친다 (bottom
코틀린의 ArrayList의 Remove 동작이 어떻게 되는지 궁금해서 찾아보고 작성한 글이다.우선 Kotlin의 ArrayList는 Java의 ArrayList를 사용하고 있다. 따라서, 자바의 ArrayList를 해부하고 이해한 내용을 글로 담았다.Java의 rem