blob: 6fb17a78eb00d29302e6853a2bea7f0b5e1eefd6 [file]
// FULL_JDK
// JVM_TARGET: 1.8
import java.util.function.IntPredicate
import java.util.stream.Stream
import kotlin.streams.toList
class IntLongPair(val i: Int, val l: Long)
interface Process {
fun pid(): Int
fun totalCpuDuration(): Long?
}
fun run(filter: IntPredicate, allProcesses: Stream<Process>): List<IntLongPair> {
return allProcesses.filter {
filter.test(it.pid())
}.map<IntLongPair?> {
val duration = it.totalCpuDuration()
if (duration != null) IntLongPair(it.pid(), duration)
else null
}.toList()
}