typestar

HashSet en C#

Una colección que responde rápido una sola pregunta: ¿ya vi esto antes?

var seen = new HashSet<string> { "read", "eval" };
Console.WriteLine(seen.Add("print"));   // true: era nuevo
Console.WriteLine(seen.Add("read"));    // false: ya estaba

var other = new HashSet<string> { "eval", "loop" };
seen.IntersectWith(other);
Console.WriteLine(string.Join(",", seen));
Console.WriteLine(seen.Contains("loop"));

Cómo funciona

  1. Add devuelve false en vez de guardar un duplicado.
  2. IntersectWith muta el conjunto hasta dejar solo el traslape.
  3. Contains es la prueba de pertenencia en tiempo constante para la que existe el conjunto.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
8
Caracteres a escribir
334
Tokens
87
Ritmo de tres estrellas
95 tpm

Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 55 segundos.

Escribe este fragmento

Paso 4 de 4 en Colecciones; paso 14 de 29 en Fundamentos del lenguaje.

← Anterior Siguiente →

HashSet en otros lenguajes