aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/utils/IteratorUtils.kt
blob: ca55a665f6170478cf7c9583ef281eaa08030221 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package at.hannibal2.skyhanni.utils

object IteratorUtils {

    fun <T> getOnlyElement(it: Iterator<T>, defaultValue: T): T {
        if (!it.hasNext()) return defaultValue
        val ret = it.next()
        return if (it.hasNext()) defaultValue else ret
    }

    fun <T> getOnlyElement(it: Iterable<T>, defaultValue: T): T {
        return getOnlyElement(it.iterator(), defaultValue)
    }
}