목차로 돌아가기 [Kotlin Collection] Kotlin에서 확장함수를 이용해 Collection 조작하기 목표 Collection 확장함수가 하는 일을 이해한다. 자유롭게 확장 함수를 이용해 데이터를 조작한다. 개요 Kotlin에서는 일반 컬렉션에도 함수형 프로그래밍을 위한 확장 함수를 제공하여, 데이터를 kotlinworld.com 목표 필터링 함수 filter, take, drop의 개념을 익힌다. filter을 사용하는 방법을 익힌다. take을 사용하는 방법을 익힌다. drop을 사용하는 방법을 익힌다. 확장함수 목록 filter filter는 Collection이 확장하는 Iterable인터페이스의 확장함수로 특정한 조건을 적용하여 Collection의 데이터를 필터링합니다. 코틀린에서..
Kotlin
앞선 글에서 RxJava에서는 발행자와 구독자가 존재하며, 발행자는 데이터를 발행하고 구독자는 발행한 데이터를 처리하는 동작을 한다고 하였다. 여기서 발행자는 발행하는 방식에 따라 대분류 두개로 나뉘게 되는데 바로 Cold Observable과 Hot Observable이다. Observable을 직역해보면 "관찰할 수 있는" 이라는 말이 되는데 즉 발행자와 같은 말이다. 그렇다면 Cold Observable과 Hot Observable의 차이는 무엇일까? 아래에서 알아보도록 하자. 예제 링크: https://github.com/seyoungcho2/RxJavaExample 경로 : example/Example2_ColdObservable.kt, example/Example3_HotObservable.k..
예제 링크: https://github.com/seyoungcho2/RxJavaExample 경로 : example/example1 명령형 프로그래밍과 반응형 프로그래밍 명령형 프로그래밍 명령형 프로그래밍은 컴퓨터에게 무엇을 하라고 명령하는 것이다. 예를 들어 1, 2, 3을 출력하는 명령형 프로그램을 만든다고 해보자. 그럴 경우 우리는 다음과 같이 컴퓨터에 명령을 내린다. println("count : 1") println("count : 2") println("count : 3") 명령을 받은 컴퓨터는 명령을 받아 순서대로 출력값을 내어놓는다. 반응형 프로그래밍 그렇다면 이것을 반응형 프로그래밍으로 만들어보면 어떻게 될까? 먼저 다음과 같은 PublishSubject을 이용한 데이터 발행자(Publi..
목표 ArrayList의 특징을 이해한다. 접근, 검색, 추가, 삭제를 위한 시간 복잡도가 어떻게 도출되는지 이해한다. ArrayList ArrayList는 내부가 배열(Array)형태로 된 List이다. ArrayList는 List인데 연속된 메모리 공간을 차지하는 Array의 형태를 가지고 있다. 따라서 특정원소에 Index를 이용해 접근이 가능하다. ArrayList는 List의 성질인 가변성을 위해서 ArrayList는 과 같이 처음부터 일정량의 메모리 공간을 잡고 들어간다. 만약 같이 List에 인스턴스가 더해져 메모리 공간이 모두 찬다면 다시 해당 메모리 공간보다 더 큰 메모리 공간을 잡아 기존 객체를 복사한 다음 연산을 이어간다. 예를 들면 하나의 메모리 공간만 필요한데 향후 값이 추가될 것..
목표 리스트의 특징을 이해한다. 코틀린에서 리스트가 구현된 방식을 안다. 리스트(List) 리스트(List)란 하나의 변수에 여러 값을 저장하기 위해 불연속적인 메모리 공간을 차지하는 동적(Dynamic)인 자료구조이다. 개요 리스트는 여러 값을 저장하기 위해 메모리의 불연속적인 공간을 차지하고 있다. 불연속적인 공간을 차지하고 있으므로, 다음 값을 넣기 위해서는 비어있는 메모리 공간 어느 곳에나 변수를 넣으면 된다. 해당 주소값을 리스트에 추가 함으로써 리스트에 값 인스턴스의 추가가 완료된다. Kotlin에서 사용하는 List는 두가지 관점에서 나눌 수 있다. 하나는 가변성이고 다른 하나는 자료구조이다. 가변성은 변화 가능(Mutable)한지 아니면, 불가능한지(Immutable)에 대한 성질이며, K..