본문 바로가기
프로그래밍/c#

c#_39 콜렉션 Collection : 리스트 List<T>

by 지나팩 2021. 8. 15.

이번 포스팅은 자료구조 콜렉션 중 리스트에 대해서 알아보도록 하겠습니다. 

리스트의 선언

이 리스트 역시 제너릭 콜렉션이므로 어떠한 자료형도 저장이 가능합니다. 예제에서 보듯 저장자체는 배열을 떠올리게 합니다. 접근 역시 배열처럼 접근하면 됩니다. 다만 배열과는 달리 리스트는 데이터를 저장하고 제거하기에 수월합니다. 원하는 위치에 데이터를 저장할수도 있고, 원하는 위치의 데이터나 리스트 안의 데이터 중 원하는 값을 선택해 제거하기도 쉽습니다. 

먼저 데이터를 추가할 수 있는 Add메소드를 먼저 보도록 하겠습니다.

리스트의 Add메소드를 통해서 데이터를 저장할 수 있습니다. 저장을 하게 되면 자동으로 리스트의 크기를 늘려서 저장합니다.

 

Insert의 경우 원하는 위치에 데이터를 저장할 수 있습니다. 먼저 위치를 지정하고 저장할 데이터를 매개변수로 전달합니다. 당연하게도 그 위치에 있던 데이터를 기준으로 후열에 있던 데이터들은 한칸씩 뒤로 밀리게 됩니다.

 

저장을 수월하게 할 수 있듯 데이터의 제거 역시 마찬가지입니다.

Remove메소드를 통해서 리스트에 저장된 데이터 중 원하는 데이터를 삭제할 수 있습니다. 다만 지우고자 하는 데이터가 리스트안에 하나 이상 일 경우 순차 검색에 의해 가장 먼저 검색된 데이터를 삭제합니다. 

 

RemoveAt은 원하는 위치의 데이터를 삭제합니다. 

 

Remove, RemoveAt을 통해 데이터를 지우고 난 뒤 리스트의 길이는 자동으로 줄어듭니다. 그리고 RemoveAll을 통해 모든 데이터를 제거할 수 있고, Sort메소드로 정해진 기본 비교자에 의해 데이터 정렬도 가능합니다. 이 외에도 다양한 메소드들도 지원하고 있으니 필요에 따라 사용하시면 됩니다.

댓글