Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 공부
- mysql 튜닝
- 기록으로 실력을 쌓자
- kotlin spring
- CloudWatch
- IntelliJ
- CKA
- aws
- MySQL
- Kubernetes
- kotlin coroutine
- AI
- minikube
- Elasticsearch
- 오블완
- CKA 기출문제
- APM
- Spring
- kotlin querydsl
- 정보처리기사 실기
- AWS EKS
- Linux
- kotlin
- Java
- PETERICA
- Pinpoint
- 정보처리기사실기 기출문제
- 정보처리기사 실기 기출문제
- 코틀린 코루틴의 정석
- 티스토리챌린지
Archives
- Today
- Total
피터의 개발이야기
[Scala] flatMap과 match을 사용하는 법 본문
반응형
ㅁ 들어가며
ㅇ PR처리하다가 Scala에서 flatMap과 match를 함께 사용하는 방법을 간단히 정리
ㅁ flatMap 사용법
ㅇ flatMap은 컬렉션을 변환하고 평탄화하는 데 사용
val numbers = List(1, 2, 3)
val result = numbers.flatMap(x => List(x, x * 2))
println(result) // List(1, 2, 2, 4, 3, 6)
ㅇ 각 요소를 새로운 컬렉션으로 변환
ㅇ 결과 컬렉션들을 하나의 평탄화된 컬렉션으로 만듬.
ㅁ match 사용법
ㅇ match는 패턴 매칭을 위해 사용되며, 다양한 조건에 따라 다른 결과를 반환할 수 있다.
def describe(x: Any): String = x match {
case 5 => "five"
case true => "truth"
case "hello" => "hi!"
case Nil => "the empty list"
case _ => "something else"
}
ㅁ flatMap과 match 조합
ㅇ flatMap과 match를 함께 사용하면 컬렉션의 요소를 변환하면서 동시에 패턴 매칭을 수행할 수 있다.
val mixed = List(1, "two", 3, "four", 5)
val result = mixed.flatMap {
case i: Int => Some(i * 2)
case s: String => None
}
println(result) // List(2, 6, 10)
ㅇ 정수만 2배로 증가시키고 문자열은 제거한다.
ㅇ flatMap은 None 값을 자동으로 제거하므로, 문자열에 대한 None 결과는 최종 리스트에 포함되지 않는다.
ㅁ 마무리
flatMap과 match의 조합은 복잡한 데이터 변환 작업을 간결하고 효과적으로 수행할 수 있게 해준다.
ㅁ 함께 보면 좋은 사이트
반응형
'Programming > Scala' 카테고리의 다른 글
[Scala] 스칼라 함수형 프로그래밍 (0) | 2024.09.11 |
---|---|
[Scala] 스칼라 기본 문법 정리 (2) | 2024.09.10 |
Comments