What is a HashSet?
Parte da seção Lógica & Fluxo do Journey de C# da Coddy — lição 56 de 66.
Um HashSet é uma coleção em C# que armazena elementos únicos sem uma ordem particular. Ele faz parte do namespace System.Collections.Generic e fornece operações de conjunto de alto desempenho.
Primeiro, inclua o namespace necessário:
using System.Collections.Generic;Crie um HashSet vazio:
HashSet<string> fruits = new HashSet<string>();Isso cria um HashSet que pode armazenar valores string.
Diferentemente de arrays ou listas, HashSets:
- Não permitem elementos duplicados
- Não mantêm a ordem de inserção
- Fornecem operações de busca rápidas (complexidade O(1))
- São ideais quando você precisa garantir a unicidade
Se você tentar adicionar um elemento duplicado, o HashSet o ignorará:
fruits.Add("Apple");
fruits.Add("Apple"); // This is ignoredApós executar o código acima, o conjunto ainda contém apenas um "Apple".
Folha de consulta
Um HashSet é uma coleção que armazena elementos únicos sem ordem particular e fornece operações de pesquisa rápidas.
Inclua o namespace necessário:
using System.Collections.Generic;Crie um HashSet:
HashSet<string> fruits = new HashSet<string>();Características principais:
- Não são permitidos elementos duplicados
- Não mantém a ordem de inserção
- Operações de pesquisa rápidas (complexidade O(1))
- Adições duplicadas são ignoradas
Adicionando elementos:
fruits.Add("Apple");
fruits.Add("Apple"); // Ignorado - sem duplicatasExperimente você mesmo
Esta lição não inclui um desafio de código.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Lógica & Fluxo
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling8Data Analysis System
Data Collection SetupData Entry Logic11HashSet Part 1
What is a HashSet?Adding an ElementRemoving an ElementChecking if an Element ExistsEmpty and SizeRecap - HashSet3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety