[유니티] 딕셔너리 (Dictionary)
2024. 11. 23. 23:47ㆍ게임 엔진/유니티
딕셔너리?
C#에서 제공하는 제네릭 컬렉션 클래스 중 하나로, key 와 value를 한 쌍으로 데이터를 저장하기 위한 배열, 리스트와 같은 자료구조이다.
사용 이유?
데이터를 보관하고 찾을 때 key가 필요한 경우 주로 사용된다. (key:이름 , value:점수)
장점?
- 검색속도가 매우 매우 빠르다. 리스트나 배열의 경우 순서대로 찾아야 하지만, 딕셔너리의 경우 키를 통해 찾기 때문에 한번에 찾을 수 있다.
- 중복된 키를 허용 하지 않기 때문에, 그에 따른 오류를 미리 예방할 수 있다.
단점?
- 기본적으로 정렬이 되지 않는다는 단점이 있으나, 보통은 정렬을 요구하진 않는다.
사용법
using System.Collections.Generic;
using UnityEngine;
public class PlayerScores : MonoBehaviour
{
private Dictionary<int, int> playerScores = new Dictionary<int, int>();
void Start()
{
// 플레이어 ID와 점수 추가
playerScores.Add(1, 100);
playerScores.Add(2, 150);
playerScores.Add(3, 200);
// 점수 출력
Debug.Log("플레이어 1의 점수: " + playerScores[1]);
Debug.Log("플레이어 2의 점수: " + playerScores[2]);
Debug.Log("플레이어 3의 점수: " + playerScores[3]);
// 점수 수정
playerScores[2] = 180;
Debug.Log("플레이어 2의 수정된 점수: " + playerScores[2]);
// 플레이어 3 점수 제거
playerScores.Remove(3);
Debug.Log("플레이어 3 제거 후 점수: " + (playerScores.ContainsKey(3) ? playerScores[3].ToString() : "없음"));
}
}
실제로 유니티에서 개발 할때 많이 쓰이는 자료구조 이기에 꼭 알고 있는 것이 좋다.
'게임 엔진 > 유니티' 카테고리의 다른 글
[유니티] 코루틴 WaitUntil (1) | 2024.11.28 |
---|---|
[유니티] 애니메이션 클립에 함수 넣기 (0) | 2024.11.26 |
[유니티] 싱글톤(Singleton) 패턴 (0) | 2024.11.21 |
[유니티] 프리펩 로드 오류 (0) | 2024.11.19 |
패턴 경고 이펙트 만들기(Mathf.Clamp) (0) | 2021.10.02 |