Kotlin 문법 사칙연산과 같은 기본 연산자


minOrNull() : 최소값을 반환한다.
  • 예시
val numbers = listOf(5, 3, 8, 2, 10)
val minValue = numbers.minOrNull()
-> 2

minWithOrNull( compareBy{} ) : 최소값을 반환한다.
  • compareBy{}를 활용해서 특정 표현식에 따라 최소값을 반환한다.

  • 예시

val numbers = listOf(5, 3, 8, 2, 10)
val minValue = numbers.minWithOrNull(compareBy { it })
-> 2

minByOrNull() : 최소값을 반환한다.
  • 특정 표현식에 따라 최소값을 반환한다.

  • 예시

val strings = listOf("apple", "banana", "cherry", "date")
val shortestString = strings.minByOrNull { it.length }
-> "apple"

maxOrNull() : 최대값을 반환한다.
  • 예시
val numbers = listOf(5, 3, 8, 2, 10)
val maxValue = numbers.maxOrNull()
-> 10

average() : 평균값을 반환한다.
  • 예시
val numbers = listOf(5, 3, 8, 2, 10)
val averageValue = numbers.average()
-> 5.6

sum() : 합계를 반환한다.
  • 예시
val numbers = listOf(5, 3, 8, 2, 10)
val sum = numbers.sum()
-> 28

count() : 요소의 개수를 반환한다.
  • count()는 컬렉션의 요소 개수를 반환한다.
  • size를 사용하기도 한다.
  • length는 문자열의 길이를 반환한다.

  • 예시
val numbers = listOf(5, 3, 8, 2, 10)
val count = numbers.count()
-> 5

// 짝수의 개수
val count = numbers.count { it % 2 == 0 }
-> 2

reduce{} : 요소를 누적시킨다.
  • reduce{}는 매개변수는 람다식을 사용해서 첫번째는 누적된 값, 두번째는 현재 요소의 값을 받는다.
  • 첫 요소가 없고 acc가 리스트의 첫번째 요소가 된고 두번째부터 시작한다.
  • fold{} 비교하자면, 첫 요소가 acc이고 두번째부터 시작이라고 생각하면 될 것 같다.

  • 예시
val numbers = listOf(5, 3, 8, 2, 10)
val product = numbers.reduce { acc, value -> acc * value }
-> 2400

fold() {} : 초기값을 지정하여 요소를 누적시킨다.
  • fold{}는 매개변수는 람다식을 사용해서 첫번째는 누적된 값, 두번째는 현재 요소의 값을 받는다.

  • 예시

val numbers = listOf(5, 3, 8, 2, 10)
val sum = numbers.fold(0) { acc, value -> acc + value }
-> 28

Math.abs() : 절대값을 반환한다.
  • 예시
val number = -10
val absoluteValue = Math.abs(number)
-> 10

Math.pow() : 제곱값을 반환한다.
  • 예시처럼 매개변수에 Double, Float 타입을 사용한다.
  • 결과값으로 Double 타입으로 반환한다.

  • 예시
val number = 5.0
val squaredValue = Math.pow(number, 2.0)
-> 25.0

태그:

카테고리:

업데이트:

댓글남기기