What is a HashSet?
Coddy C# 여정의 논리 및 흐름 섹션에 포함된 레슨 — 66개 중 56번째.
HashSet은 C#에서 특정 순서 없이 고유한 요소를 저장하는 컬렉션입니다. System.Collections.Generic 네임스페이스의 일부이며 고성능 집합 연산을 제공합니다.
먼저, 필요한 네임스페이스를 포함하세요:
using System.Collections.Generic;빈 HashSet 생성:
HashSet<string> fruits = new HashSet<string>();이는 문자열 값을 저장할 수 있는 HashSet을 생성합니다.
배열이나 리스트와 달리, HashSets:
- 중복 요소를 허용하지 않습니다
- 삽입 순서를 유지하지 않습니다
- 빠른 조회 연산(O(1) 복잡도)을 제공합니다
- 고유성을 보장해야 할 때 이상적입니다
중복 요소를 추가하려고 하면 HashSet은 이를 무시합니다:
fruits.Add("Apple");
fruits.Add("Apple"); // This is ignored위 코드를 실행한 후에도 세트에는 여전히 "Apple" 하나만 포함되어 있습니다.
치트 시트
HashSet은 특정 순서 없이 고유한 요소를 저장하며 빠른 검색 작업을 제공하는 컬렉션입니다.
필요한 네임스페이스를 포함하세요:
using System.Collections.Generic;HashSet을 생성하세요:
HashSet<string> fruits = new HashSet<string>();주요 특징:
- 중복 요소 허용 안 함
- 삽입 순서 유지 안 함
- 빠른 검색 작업 (O(1) 복잡도)
- 중복 추가는 무시됨
요소 추가:
fruits.Add("Apple");
fruits.Add("Apple"); // 무시됨 - 중복 없음직접 해보기
이 레슨에는 코드 챌린지가 없습니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리 및 흐름의 모든 레슨
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