Boa tarde, Bruno!
Realizei os testes aqui e tudo funcionou como o esperado. O que está sendo comparado nesta função não é o 'valor' do mapa, mas sim a sua chave. Então, o valor ser maior que 100.0 não fará diferença, o que este filtro está analisando é a chave do mapa.
Por exemplo:
val mapaLegal: MutableMap<Int, Double> = mutableMapOf(
1 to 90.0,
2 to 70.0,
3 to 4.0,
4 to 50.0,
6 to 150.0
)
// Filtrando as CHAVES Pares
val chavesPares = mapaLegal.filterKeys { key -> key % 2 == 0 }
println(chavesPares) // print: {2=70.0, 4=50.0, 6=150.0}
// as chaves 2, 4, 6 são números pares
// Filtrando os VALORES Pares
val valoresPares = mapaLegal.filterValues { value -> value % 2.0 == 0.0 }
println(valoresPares) // print: {1=90.0, 2=70.0, 3=4.0, 4=50.0, 6=150.0}
// todos os valores neste exemplo são pares (90.0, 70.0, 4.0, etc...)
Neste código tem um exemplo de como filtrar os valores pares do mapa. Note que os valores da função foram alterados (o 2 passou a ser 2.0 e o 0 passou a ser 0.0), isso ocorreu por conta do tipo do valor (Double).
Espero que essa explicação possa te ajudar,
Abraço