-
1. 배열의 문제점
배열은 미래에 사용할 인덱스의 수를 예측할 수 없다는 문제점이 있다.
예를들어 배열의 크기를 10으로 선언하였는데 사용하다보니 20의 크기가 필요해졌을 때 난감해진다.
임시 해결방안으로 배열의 크기를 100으로 선언해봐도 실제 사용하는 배열의 크기가 20뿐이라면 나머지 배열크기 80만큼의 메모리가 낭비가 된다. 이러한 문제점들을 해결하기 위해 나온 것이 리스트이다.
2. 리스트 선언
using System.Collections.Generic;
먼저 맨 윗줄에 위의 코드를 추가해준다.
그리고 다음과 같은 형식으로 사용하면 된다.
List<int> list = new List<int>();
<>안에는 원하는 자료형을 넣어주면된다.
3. 리스트가 제공하는 함수
리스트도 사실 클래스로 정의되어있다.
그래서 리스트 클래스안에는 여러가지 함수들이 정의되어 있는데 이러한 함수들을 이용하여 리스트를 사용하면된다.
외울 필요는 없고 필요할 때마다 구글링으로 찾아봐도 된다.
list.Add(1);
리스트의 마지막 인덱스에 1을 추가한다.
예를들어, 리스트를 처음 선언한 상태이면 0번째 인덱스에 1이 추가된다.
list[0]
리스트 0번째 인덱스의 값을 출력
list.Insert(0, 2);
리스트의 0번째 인덱스에 2의 값을 삽입.
list.Count
리스트의 길이를 출력.(Count는 메소드가 아니고 리스트의 멤버변수임)
list.Add(1); // list[1] list.Insert(0, 2); // list[0] list.Add(1); // list [2] list.Add(1); // list [3] list.Remove(1); // list[1]을 삭제
리스트의 인덱스의 값을 순차적으로 찾아가면서 가장 먼저 만난 값을 삭제
위의 코드는 1이 3개 저장되어 있으므로 가장먼저 만난 list[1]의 값만 삭제한다.
성공적으로 지우면 true값을 반환하고 아니면 false를 반환
list.RemoveAt(2);
리스트의 인덱스를 이용하여 값을 삭제함.
list.Clear();
모든 리스트 삭제
'C#' 카테고리의 다른 글
object와 Generic(일반화) (0) 2022.01.25 Dictionary (0) 2022.01.25 sealed키워드 (0) 2022.01.24 클래스 형변환 (0) 2022.01.24 c++ c#의 차이점 (0) 2022.01.24