Hashtable 과 Dictionary 는 둘 다 IDictionary 를 구현하고 있다.
다만 Hashtable 은 제너릭을 지원하지 않고, Dictionary<TKey, TValue> 는 제너릭을 지원한다.
HashSet<T> 은 제너릭은 지원하지만 키를 사용자에게 입력받지 않고
값을 이용하여 해시코드를 구한다.
이걸 어디에 쓸까 싶었지만, 중복값제거에 용의한듯하다.
출처 : http://hsj0511.tistory.com/325
HashSet<string> set = new HashSet<string>(); using (TextReader reader = File.OpenText("test.txt")) { string line = reader.ReadLine(); while (string.IsNullOrEmpty(line) == false) { set.Add(line); line = reader.ReadLine(); } } foreach (string setItem in set) { Console.WriteLine(setItem); }
위와 같이 쓰면 line으로 입력받은 문자 중 중복되는 것들은 hashset에서 같은 hash같으로 나와서 하나만 처리되는 듯
Accord.NET에서 SVM의 ActiveExamples가 HashSet<int> 형태로 제공됨
HashSet<int> hash = smo.ActiveExamples; Console.WriteLine(hash.Count.ToString()); foreach (int i in hash) { Console.WriteLine(i.ToString()); }
위와 같이 그냥 중복되는 값 제거되고 값 얻는 정도인가
아 씹팔 이런걸 좀 공부하고 써먹고 싶었는데 졸업할라면 따른데서 뺑이쳐야되니...
'컴퓨터 과학 & 영상처리 관련 > C# / .NET / JAVA' 카테고리의 다른 글
C#에서 printf("%03d",10)과 같은 번호 얻기 (0) | 2014.10.17 |
---|---|
C# learnersTV 캡쳐한거? (0) | 2014.09.14 |
C# 머신러닝, 컴퓨터비전 관련 라이브러리 Accord.NET framework (0) | 2014.06.11 |
140406 모르는 것들 (0) | 2014.04.06 |
c# lambda, Func, Action, Predicate 등 (0) | 2014.04.06 |