C# 제너릭 컬렉션 : List 사용하기
March 10, 2022, 11:40 p.m.
C#에서 컬렉션은 유용하게 쓰입니다. 일반적인 배열의 골치 아픈 문제들을 해결해 주기 때문이죠. C#의 대표적인 컬렉션 클래스는 List
여기서 T는 type을 의미하며 해당 타입이 들어가는 List를 의미합니다. 예를들어 List
List는 아래와 같이 선언합니다.
List<int> hello = new List<int>();
int 유형을 지정해 주었기 때문에 해당 유형만 hello 리스트에 저장 가능합니다. 리스트에는 .Add()를 이용해 값을 집어 넣을 수 있습니다.
hello.Add(10);
hello.Add(11);
[] 인덱싱을 통해 해당 객체를 얻을 수 있습니다.
hello[1]; // 11
.Count를 이용해 해당 리스트에 들어있는 객체의 수를 얻어올 수 있습니다.
hello.Count; // 2
.Contains를 이용해 해당 객체가 있는지 알아냅니다.
hello.Contains(10); // true
.IndexOf()를 이용해 해당 객체의 인덱스를 알아냅니다.
hello.IndexOf(11); // 1
.Remove를 통해 해당 객체를 제거합니다.
hello.Remove(10); // 10이 리스트에서 사라집니다.
List에는 foreach라는 특별한 형태의 순환문을 적용할 수 있습니다. 아래와 같이요. 파이썬을 사용해 보신 분이라면 쉽게 이해가 가능할 거에요.
foreach (int i in hello)
{
print(i);
}
// 10
// 11
foreach문을 통해 hello에 있는 객체를 하나씩 꺼내서 i에 저장합니다. 해당 리스트의 객체를 훑어보며 어떤 작업을 할 때 유용하게 쓰이겠죠?
.RemoveAt() 을 통해 해당 인덱스의 객체를 리스트에서 제거합니다.
hello.RemoveAt(1); // 인덱스 1의 데이터 11이 사라집니다.
.Clear()를 통해 해당 리스트의 모든 객체를 제거합니다.
이러한 List의 메서드들은 다 ICollection