일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Hbase
- elasticsearch
- scala
- nginx
- elastic search
- 엘라스틱서치
- intellij
- Spring
- Spring Boot
- apache storm
- 제주
- Storm
- hdfs
- Spring XD
- 스프링 배치
- Spring Batch
- Angular2
- docker
- hibernate
- Java
- design pattern
- 인텔리J
- Gradle
- spark
- hadoop
- Linux
- DDD
- 도메인주도설계
- SBT
- Clean Code
Archives
- Today
- Total
목록2025/01/16 (1)
욱'S 노트
불변 컬렉션/Immutable Collections (Kotlin 함수형 프로그래밍 #5)
불변 컬렉션앞에서 보았듯이 함수형 프로그래밍에서는 항상 불변값과 대수적 타입으로 값을 다룬다. 이는 컬렉션의 경우에도 마찬가지이다. 리스트의 가장 기본적인 구현을 보면 아래와 같다.// sealed 키워드를 통해 패키지 안에서만 상속 가능하도록sealed class List// Empty를 표현object Nil : List()// 비어 있지 않는 리스트data class Cons(val head: A, val tail: List) : List() 데이터 공유불변 리스트 xs에 1이라는 원소를 추가한다면 Cons(1, xs) 새로운 리스트를 반환하면 된다. 삭제를 한다면 tail을 반환하면 됨. 이를 데이터 공유라고 한다. 데이터 변경이나 오염을 피하기 위해서 복사본을 만들 필요가 없다. 데이터 구조가 ..
Methdology/Functional Programming
2025. 1. 16. 11:31