본문 바로가기
유니티 공부/C# 문법

C# - SortedSet, SortedDictonary (기본생성자, IComparer생성자)

by 코딩하는 돼징 2024. 3. 17.
반응형

SortedSet<T>

중복된 요소를 허용하지 않고 정렬된 순서로 요소를 저장하는 집합이다. 이진 검색 트리로 구현되어 있어 요소의 삽입, 삭제, 검색 등의 작업이 빠르게 수행된다. 

01 기본 생성자

아래 생성자는 기본적으로 오름차순으로 정렬된 SortedSet을 생성한다.

public SortedSet ()

예시

SortedSet<int> sortedSet = new SortedSet<int>();

02 사용자 지정 비교자(comparer) 생성자

요소의 비교 방법을 사용자가 원하는 방식으로 지정하여 SortedSet을 생성한다.

public SortedSet (System.Collections.Generic.IComparer<T>? comparer);

예시

SortedSet<int> sortedSet = new SortedSet<int>(new Comparer());

03 예시 코드

SortedSet<int> sortedSet = new SortedSet<int>();

sortedSet.Add(5);
sortedSet.Add(-1);
sortedSet.Add(1);

foreach(var x in sortedSet)
    Console.WriteLine(x);


SortedDictonary<TKey, TValue>

컬렉션 클래스중 하나로 중복된 키 값을 허락하지 않고 정렬된 순서로 key-value값을 저장한다.

01 기본 생성자

기본적으로 키를 기준으로 정렬된 SortedDictonary를 생성한다.

public SortedDictionary();

예시

 SortedDictionary<int,int> sortedDictionary = new SortedDictionary<int,int>();

02 사용자 지정 비교자(comparer) 생성자

요소의 비교 방법을 사용자가 원하는 방식으로 지정하여 SortedDictonary을 생성한다.

public SortedDictionary(IComparer<TKey>? comparer);

예시

SortedDictionary<int,int> sortedDictionary = new SortedDictionary<int,int>(new Comparer());

03 예시 코드

SortedDictionary<int,int> sortedDictionary = new SortedDictionary<int,int>();

sortedDictionary.Add(5,2);
sortedDictionary.Add(1,2);
sortedDictionary.Add(3,-1);

foreach(var x in sortedDictionary)
    Console.WriteLine(x);

 

 

반응형

댓글