목표 Stack의 특징을 익힌다. Stack의 사용법과 구현을 익힌다. 개요 Stack은 LIFO(Last In First Out)의 특징을 가지는 자료 구조이다. 즉, 맨 마지막에 들어온 값이 가장 먼저 나가는 자료 구조이다. Kotlin에서는 Stack을 사용하기 위에 JCF의 Stack을 가져와 사용한다. Stack의 상속구조는 조금 복잡해서 List 위쪽(List가 확장하는 인터페이스)은 간소하게 표현했다. 생성 Stack의 생성은 간단하다. Stack은 클래스이기 때문에, 생성자를 이용해 생성할 수 있다. val stack: Stack = Stack() 조작 Stack의 조작 방법은 간단하다. Stack 클래스에서는 총 3가지의 Stack 연산을 지원한다. Stack에서 Vector Class를..
코틀린
목표 Queue의 특징을 익힌다. Queue 인터페이스를 구현하는 클래스(ArrayBlockingQueue)의 사용법과 특징을 익힌다. 개요 Queue란 FIFO(First In First Out)의 특징을 갖는 자료 구조이다. 즉, 먼저 들어온 값이 먼저 나가는 자료구조이다. Kotlin에서는 Queue를 구현하기 위해 JCF(Java Collection Framework)에서 제공하는 Queue Interface를 이용한다. 하지만, Queue는 단순한 인터페이스이므로, 인터페이스를 구현하는 Class를 사용해야 하는데, 우리는 우리는 그중 ArrayBlockingQueue를 사용하여 Queue를 다루어본다. 생성 Queue 인터페이스를 이용하기 위해서는 인터페이스를 구현하는 구현체를 이용해야 한다...
목표 Set API에 대한 이해를 높인다. HashSet, LinkedHashSet을 생성하는 방법과 다루는 방법을 익힌다. 개요 Set은 중복을 허용하지 않는 자료구조로, 중복된 값이 들어오면 값이 입력이 되지 않는다. Java에서 제공하는 HashSet의 종류는 두 가지이다. 하나는 HashSet이고, 다른 하나는 LinkedHashSet이다. 둘의 차이점은 HashSet은 요소의 순서를 저장하지 않고, LinkedHashSet은 요소의 순서를 저장한다는 점이다. Kotlin은 자바의 HashSet과 LinkedHashSet을 그대로 가져오는 형태로 만들어졌으며, Mutable Interface와 Immutable Interface를 제공하여 이 Set들을 조작할 수 있는지를 코드 단에서 결정한다. ..