O dicionário Swift é indexado para desempenho? Mesmo para tipos exóticos (UUID)?

Quero construir algumas matrizes que permanecerão para obter pesquisas rápidas. Se eu usar algo parecido com isto:

let dictionary: [Int:Int] = [:]
for i in 0 ..< 10000000 {
    dictionary[i] = 0
}

A consulta:

dictionary[n] == nil

ser realizado em tempo logarítmico?

Se sim, é o mesmo para outros tipos: Float, Double, String.

E, finalmente, preciso que ele funcione com o tipo UUID, funcionará?

questionAnswers(2)

yourAnswerToTheQuestion