스택, 큐, 해시셋
스택: 쌓여있는 접시라고 생각하면 편함. 접시를 쌓아놓고 맨 위에 있는 접시를 꺼내는 것이 스택의 특징임.
• stack.Push(item): 스택에 아이템을 추가 -아이템을 스택의 맨 위에 쌓음.
• stack.Pop(): 스택에서 맨 위의 아이템을 꺼냄 - 꺼낸 아이템은 스택에서 제거됨.
• stack.Peek(): 스택에서 맨 위의 아이템을 반환하지만 제거하지 않음 -아이템을 확인만 할 때 사용.
• stack.Count: 스택에 있는 아이템의 개수를 반환 - 스택에 몇 개의 아이템이 있는지 확인.
• stack.Clear(): 스택에 있는 모든 아이템을 제거 -스택을 비움.
• stack.Contains(item): 스택에 특정 아이템이 있는지 여부를 반환 -아이템이 스택에 존재하는지 확인.
• stack.CopyTo(array, 0): 스택의 요소를 배열에 복사- 배열의 인덱스 0부터 시작하여 스택의 요소를 복사.
• stack.ToArray(): 스택의 요소를 배열로 복사하여 반환 - 스택의 내용을 배열로 변환.
큐: 대기열이라고 생각하면 편함. 선입 선출의 개념 (FIFO). 먼저 들어온 데이터가 먼저 나가는 특징이 있다. 데이터를 추가하는 것은 빠르고, 데이터를 꺼내는 것은 느리다.
• queue.Enqueue(item): 큐에 아이템을 추가 - 아이템을 큐의 맨 뒤에 넣음.
• queue.Dequeue(): 큐에서 맨 앞의 아이템을 꺼냄 - 꺼낸 아이템은 큐에서 제거됨.
• queue.Peek(): 큐에서 맨 앞의 아이템을 반환하지만 제거하지 않음 - 큐의 첫 번째 아이템을 확인할 때 사용.
• queue.Count: 큐에 있는 아이템의 개수를 반환 - 큐에 몇 개의 아이템이 있는지 확인.
• queue.Clear(): 큐에 있는 모든 아이템을 제거 - 큐를 비움.
• queue.Contains(item): 큐에 특정 아이템이 있는지 여부를 반환 - 아이템이 큐에 존재하는지 확인.
해시셋 : 중복되지 않은 요소의 집합을 저장하는 자료구조임. 순서가 없는 것이 특징임. 스택, 큐와 달리 변수를 선언할 때 기본값으로 Hashset을 초기화할 수 있음.
• HashSet.Add(item): 해시셋에 아이템을 추가 - 중복 없이 유일한 아이템만 저장.
• HashSet.Remove(item): 해시셋에서 아이템을 제거 - 지정된 아이템을 해시셋에서 삭제.
• HashSet.Contains(item): 해시셋에 특정 아이템이 있는지 여부를 반환 - 아이템이 해시셋에 존재하는지 확인.
• HashSet.Count: 해시셋에 있는 아이템의 개수를 반환 - 해시셋에 몇 개의 아이템이 있는지 확인.
• HashSet.Clear(): 해시셋에 있는 모든 아이템을 제거 - 해시셋을 비움.
HashSet의 합집합, 교집합, 차집합
• HashSet.UnionWith(otherHashSet): 해시셋과 다른 해시셋의 합집합을 계산하여 해시셋에 저장
두 해시셋에 있는 모든 아이템을 포함한 집합으로 업데이트.
• HashSet.IntersectWith(otherHashSet): 해시셋과 다른 해시셋의 교집합을 계산하여 해시셋에 저장
두 해시셋에 모두 존재하는 아이템만 남김.
• HashSet.ExceptWith(otherHashSet): 해시셋과 다른 해시셋의 차집합을 계산하여 해시셋에 저장
첫 번째 해시셋에만 존재하는 아이템만 남김.
'Unity & C# Basics' 카테고리의 다른 글
| C# 공부일지 : 직렬화/역직렬화 (0) | 2025.02.01 |
|---|---|
| C# 공부일지 : 데이터의 저장, 로드 (0) | 2025.01.24 |
| C# 공부일지 : 엑세스 한정자, 메서드, OOP (0) | 2025.01.24 |
| C#책 공부일지 : Rigidbody, Update, Quaternion, Euler (0) | 2023.10.26 |
| C#책 공부일지 : Player Movement (1) | 2023.10.26 |