¿Qué es un tiempo de complejidad para los conjuntos y mapas creados con métodos de fábrica Set.of () y Map.of ()?

Vitalii:

En Java, cuando creo un setcon Set.of()o mapcon Map.of()lo que es la complejidad de tiempo de la containsy getlas operaciones? Es O (1)?

Stuart Marcas:

El Set.ofy Map.ofAPI casos de implementaciones JDK-privadas volver. El rendimiento de estas implementaciones no está garantizada por la especificación. Sin embargo, las API hacen volver implementaciones específicas sobre las que se pueden hacer declaraciones de rendimiento. Por lo tanto, la pregunta es razonable y es distinto de un (hipotético) pregunta como "¿Cuál es el desempeño de Map.get?" que es una pregunta mal porque hay muchos diferentes Mapimplementaciones.

En cualquier caso, las implementaciones detrás Set.of(de mayor tamaño que los dos) y Map.of(para mayor tamaño de uno) utilizan un simple abierta dirigida hash esquema con el sondeo lineal para la resolución de conflictos. El Set.containsy Map.getoperaciones son O (1) si están razonablemente bien distribuidos los elementos (teclas) hashes.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=315083&siteId=1
Recomendado
Clasificación