Stack 이란 Stack, 우리는 스택이라는 용어를 쌓여가는 것에 사용한다. 1스택, 2스택 .... . 즉, Stack은 데이터가 쌓여가는 것을 나타내는 자료구조로 생각하면 편한다. Stack을 이야기할 때 항상 따라서 나오는 용어는 LIFO(Last In First Out)이다. (FILO(First In Last Out) 선입후출로 표현하기도 하는데 여기서는 후입선출로 통일하여 이야기 할 것이다.) Last In First Out 후입 선출 먼저 나온 것이 먼저 나온다. Stack은 데이터를 쌓아가면서 가장 마지막에 넣은 데이터를 먼저 꺼내는 형태의 자료구조를 말한다. 개념 자체는 매우 단순하다 먼저 넣을수록 밑으로 쌓여가고 빼낼때는 가장 최근에 넣은 값을 빼는 것, 예로 들면 웹페이지의 뒤로가기..
LinkedList(Singly LinkedList)란 LinkedList는 Collection FrameWork란 여러 개의 데이터를 쉽고 효율적으로 관리할 수 있는 표준화된 방법을 제공하는 클래스 중 하나이다. 컬랙션 프레임워크 중 List 인터페이스에 해당된다. ArrayList는 배열을 토대로 만들어진 List로 데이터를 추가하거나 삭제할 때 크기를 변경할 수 없어서 새롭게 생성해서 copy된 배열을 사용하는 등 "고정된" 배열로 인한 단점이 있었다. 하지만 LinkedList는 이 단점을 해결하기 위해 각 노드가 데이터와 포인터를 가지고 줄줄이 연결되어있는 구조이다. (노드가 서로서로 링크되어있다.) 처음부터 말로 설명을 하면 좀 알아듣기 힘들고 그림으로 먼저 보자. 처음 Header는 시작을 ..
ArrayList란 ArrayList는 Collection Framework(컬랙션 프레임워크)란 여러 개의 데이터를 쉽고 효율적으로 관리할 수 있는 표준화된 방법을 제공하는 클래스 중 하나이다. 컬랙션 프레임 워크 중 List 인터페이스에 해당된다. List 인터페이스만 알아보면 List 인터페이스는 순서가 있는 데이터의 집합이며 데이터의 중복을 허용하는 인터페이스다. 쉽게말해서 확장된 배열이라고 보면된다. 한번 생성되었을 때 크기가 변하지 않는 배열과는 다르게 객체가 추가되어 capacity가 초과되면 capacity가 늘어난다. 위 ArrayList가 설령 크기가 8로 지정되어 있더라고 9로 배열의 크기를 늘린 다음에 저장할 수 있다. 가변적인 배열이라고 생각하면 머릿속에 외우기 더 쉽다. 구현 j..
- Total
- Today
- Yesterday