Kotlin Set minOfWith()
Syntax & Examples
Set.minOfWith() extension function
The minOfWith() extension function in Kotlin returns the smallest value according to the provided comparator among all values produced by the selector function applied to each element in the collection.
Syntax of Set.minOfWith()
The syntax of Set.minOfWith() extension function is:
fun <T, R> Set<T>.minOfWith(comparator: Comparator<in R>, selector: (T) -> R): R
This minOfWith() extension function of Set returns the smallest value according to the provided comparator among all values produced by selector function applied to each element in the collection.
Parameters
Parameter | Optional/Required | Description |
---|---|---|
comparator | required | The comparator used to compare the values. |
selector | required | A function that takes an element and returns a value to be compared. |
Return Type
Set.minOfWith() returns value of type R
.
✐ Examples
1 Finding the minimum value among integers with a custom comparator
Using minOfWith() to find the minimum value among integers in a set with a custom comparator.
For example,
- Create a set of integers.
- Use minOfWith() with a custom comparator and a selector function that transforms each integer.
- Print the resulting minimum value.
Kotlin Program
fun main() {
val numbers = setOf(3, 1, 4, 1, 5)
val minValue = numbers.minOfWith(compareBy { it }, { it.toDouble() })
println(minValue)
}
Output
1.0
2 Finding the minimum length of strings with a custom comparator
Using minOfWith() to find the minimum length among strings in a set with a custom comparator.
For example,
- Create a set of strings.
- Use minOfWith() with a custom comparator and a selector function that returns the length of each string.
- Print the resulting minimum length.
Kotlin Program
fun main() {
val strings = setOf("apple", "pear", "banana")
val minLength = strings.minOfWith(compareBy { it }, { it.length.toDouble() })
println(minLength)
}
Output
4.0
3 Finding the minimum age among custom objects with a custom comparator
Using minOfWith() to find the minimum age among custom objects in a set with a custom comparator.
For example,
- Create a data class.
- Create a set of custom objects.
- Use minOfWith() with a custom comparator and a selector function that returns the age of each object.
- Print the resulting minimum age.
Kotlin Program
data class Person(val name: String, val age: Int)
fun main() {
val people = setOf(Person("Alice", 30), Person("Bob", 25), Person("Charlie", 35))
val minAge = people.minOfWith(compareBy { it }, { it.age.toDouble() })
println(minAge)
}
Output
25.0
Summary
In this Kotlin tutorial, we learned about minOfWith() extension function of Set: the syntax and few working examples with output and detailed explanation for each example.