C# - 컬렉션

양규빈·2023년 7월 9일
0

C# 공부

목록 보기
8/30

개요

컬렉션은 데이터를 효율적으로 저장, 검색, 조작할 수 있는 다양한 기능을 제공한다. 주요한 컬렉션 클래스들은 닷넷 프레임워크의 일부로 제공되며, System.CollectionsSystem.Collections.Generic 네임스페이스에 정의되어 있다.

① C#에서 지원하는 자료구조 클래스
② 자료구조 : 데이터를 구조적으로 표현하고, 구현하는 중요한 알고리즘
③ 종류 : Queue, Stack, ArrayList(Array), Hashtable 등
④ object형식을 사용하여서 박싱과 언박싱이 발생. 성능이 떨어지는 이슈가 있다
⑤ 대용량의 데이터를 처리하기 위해서는 적절한 자료구조를 사용해야 하며 그렇지 않은 경우, 엄청난 비용(속도, 메모리 낭비) 등의 손실을 발생하므로 중요도가 높다.


세부 설명

Generic(제너릭) 타입

① Generic : 박싱과 언박싱이 발생하지 않음. 성능면에서 훨씬 좋음.
② 데이터를 저장하는 시점에 데이터 타입을 지정(박싱 발생하지 않음)
③ 데이터를 사용하는 시점에 데이터 타입을 지정했으므로 형변환(언박싱) 하지 않아도 됨.
④ 자신이 지정한 타입만 저장할 수 있다. (데이터 타입을 미리 지정해둠)
List<T>, Dictionary<TKey, TValue>, Queue<T>, Stack<T>이 제네릭에 해당된다.


Non-Generic(넌 제너릭) 타입

① Non-Generic : 박싱과 언박싱 과정에서 부하가 발생함(메모리 낭비와 속도 성능 저하)
② 데이터를 저장하는 시점에 object로 형변환이 됨(박싱)
③ 데이터를 사용하는 시점에 원래의 타입으로 변환 언박싱(unboxing)
ArrayList, HashTable, Queue, Stack 이 넌제너릭에 해당한다.

profile
훌륭한 개발자를 꿈꾸는 중입니다

0개의 댓글