배열
- 선언
- 1차원 배열: 자료형[] 변수명;
- 2차원 배열: 자료형[ , ] 변수명;
- 초기화
- 1차원 배열: 변수명 = new 자료형[크기];
- 2차원 배열: 변수명 = new 자료형[크기, 크기];
int[] arr1; //변수 선언만
int[] arr2 = new int[10]; //변수의 선언과 초기화(모두 0으로 초기화된다.)
int[] arr3 = new int[5]{1, 2, 3, 4, 5}; //변수의 선언과 초기화
//(중괄호 안의 숫자들로 초기화)
int[ , ] arr4; //2차원 배열의 변수 선언
arr4 = new int[10, 10]; // 10 * 10 크기의 2차원 배열로 초기화
-원소 참조
- 1차원 배열: 변수명[int index]
- 2차원 배열: 변수명[int index1, int index2]
리스트
-C++의 벡터와 같은 역할의 컬렉션으로, 크기가 가변적이다.
-선언
- List<T> 변수명;
-초기화
- 변수명 = new List<T>();
- 변수명 = new List<T>() {원하는 요소 나열};
List<int> ls1; //리스트의 선언
List<string> ls2 = new List<string>(); //리스트 선언과 동시에 초기화
List<int> ls3 = new List<int>(){1, 2, 3}; //중괄호 안에 있는 요소들로 초기화
-멤버 함수
- void Add(E element): 리스트에 element를 추가한다.
- void Insert(int index, E elemet): 해당 index에 요소를 삽입한다. index 이상의 인덱스를 가진 요소들은 하나씩 뒤로 밀려난다.
- bool Remove(E element): 리스트에서 element를 삭제한다. 제대로 삭제되었다면 true를, element가 없거나 삭제되지 못했다면 false를 반환한다.
- void RemoveAt(int index): 해당 index의 요소를 삭제한다.
- bool Contains(E element): 리스트에 element가 있는지 확인한다. 있다면 true를, 없다면 false를 반환한다.
- int IndexOf(E element): 리스트에서 element를 찾아 가장 처음으로 찾는 요소의 index를 반환한다. element가 없다면 -1을 반환한다.
- void Clear(): 리스트를 초기화한다.
딕셔너리(Dictionary)
- c++의 map과 같은 기능을 하며, <key, value>의 한 쌍의 데이터를 저장하는 컬렉션이다.
-해시 테이블로 구성되어 검색에 필요한 시간이 O(1)이다.
-선언
- Dictionary<TKey, TValue> 변수명;
-초기화
- 변수명 = new Dictionary<TKey, TValue>();
Dictionary<string, string> dictionary1; //<string, string> 타입을 갖는 딕셔너리 선언.
Dictionary<string, string> dictionary2 = new Dictionary<string, string>();
//<string, string> 타입을 갖는 딕셔너리의 선언과 동시에 초기화
-멤버 함수
- void Add(TKey, TValue): 키와 값을 딕셔너리에 추가한다.
- bool Remove(TKey): 키 값을 가진 값을 제거한다. 성공적으로 제거하면 true를, 아니라면 false를 반환한다.
- bool Remove(TKey, TValue) : 키 값을 가진 값을 제거한다. TValue에는 제거된 값이 복사된다. 성공적으로 제거하면 true를, 아니라면 false를 반환한다.
- bool ContainsKey(TKey): 키 값을 가진 값이 있는지 확인한다. 존재한다면 true를, 아니라면 false를 반환한다.
- bool ContainsValue(TValue): 해당 값이 딕셔너리에 있는지 확인한다. 존재한다면 true를, 아니라면 false를 반환한다. 선형탐색을 진행하여 시간복잡도는 O(n)이다.
- void Clear(): 모든 키와 값을 제거한다.