- 공유 링크 만들기
- X
- 이메일
- 기타 앱
C#에서 Collection을 알아보도록 하겠습니다. 정의하기를... 같은성격을 띄는 데이터모음을 담는 자료구조다! 라고 말하고있습니다.
배열과 가장 닯아있는 collection중에 ArrayList가 있습니다. 이 것을 사용하려면..
using System.Collections;를 추가해 주신다음에 사용하실 수 있습니다.
델파이에서 TStringList와 비슷한 것 같네요..
가장 큰 특징이라면.. 용량을 지정할 필요가 없이 추가할때마다 알아서 자동으로 늘어난다는것입니다. 편리하겠죠..
또한.. 형식에 얽메이지않고.. 여러가지 형태의 자료형을 담을 수 있습니다. (Object형이기에..)
하지만 object형식으로 자료를 Boxing, UnBoxing을 이용하여 데이터가 처리되기때문에 데이터가 많아질 수록 성능저하가 일어날 수 있다고 하네요..
선언형식과 값을 넣고 빼는작업을 하려면 아래와 같이 하시면됩니다.
생각보다 간단하죠..?
하지만 데이터가 많아지면.. 성능저하가 일어날 수 있다고하니.. 사용하는데 망설여지네요..
int형뿐만아니라.. string 형의 데이터도 위와같이 하면.. 에러없이 잘 들어갑니다.
자주사용하는.. 메소드가 3개인데요.. Add(), RemoveAt(), Insert() 이렇습니다.
예제를 통해 한번 돌려보아서.. 살펴보겠습니다.
순차적으로 숫자를 0~4까지 집어넣었고.. 인덱스값 2에 해당하는.. 2를제거하고..( 0,1,2,3,4 죠..인덱스는..)
2번인덱스에 "테스트"를 집어넣어보기도하고.. add를 이용해서 값을 추가해보기도 하였습니다.
*Add()의 경우 가장마지막리스트 아래에 추가하는것입니다.
*RemoveAt() 는.. ()안에 입력한 인덱스번호에 해당하는 것을 지워버리는거죠..
*Insert() 는... ( a,b )이런식으로하여.. 인덱스 a에 b의 값을 넣어버리는겁니다. 기존에 입력받은 값들은 뒤로 밀려버리죠..
*RemoveAt() 는.. ()안에 입력한 인덱스번호에 해당하는 것을 지워버리는거죠..
*Insert() 는... ( a,b )이런식으로하여.. 인덱스 a에 b의 값을 넣어버리는겁니다. 기존에 입력받은 값들은 뒤로 밀려버리죠..
이런 특징이 있으니 잘 기억하셔야 겠네요.. 이상으로 C# 컬렉션(collection)의 ArrayList 를 알아봤습니다.
댓글
댓글 쓰기