정의
인덱스로 접근할 수 있는 강력한 형식의 개체 목록
▼ 기본 속성
네임스페이스 System.Collections.Generic
어셈블리 System.Collections.dll
소스 List.cs
기능
기본 형식
다음은 목록 생성의 기본 형식입니다.
List<T> ListName = new List<T>();
List<T> ListName = new List<T>(Int32);
T 는 사용자가 지정한 데이터형 입니다. 매개변수로 값을 전달할 경우 해당 크기를 갖는 목록을 생성합니다.
기본 메서드
List<T> 클래스는 생성된 목록을 검색, 정렬 및 조작하는 메서드를 기본적으로 제공합니다.
▼ 대표적인 기본 메서드
Add(T) | List<T> 끝에 개체를 추가합니다. |
RemoveAt(Int32) | List<T> 지정된 인덱스에 있는 요소를 제거합니다. |
Insert(Int32, T) | 지정된 인덱스의 List<T> 요소를 삽입합니다. |
Sort(Comparison<T>) | 지정된 Comparison<T> 사용하여 전체 List<T> 요소를 정렬합니다. |
Clear() | List<T> 모든 요소를 제거합니다. |
RemoveAt
중간에 위치한 요소를 제거한 경우 이후에 위치한 요소들은 앞으로 한 칸씩 이동합니다.
Insert
중간 위치에 요소를 삽입한 경우 이후에 위치한 요소들은 뒤로 한 칸씩 이동합니다. 목록의 크기를 벗어난 인덱스를 전달할 경우 오류가 발생합니다.
▼ 사용 예시: Add, RemoveAt, Insert
using System.Collections.Generic;
void Start()
{
string a_Result;
List<int> a_List = new List<int>();
// Add: 마지막 위치에 요소 삽입
a_List.Add("a ");
a_List.Add("b ");
a_List.Add("c ");
a_Result = "";
foreach (string item in a_List) { a_Result += item; }
Debug.Log(a_Result);
// RemoveAt: 중간 위치의 요소 제거
a_List.RemoveAt(1);
a_Result = "";
foreach (string item in a_List) { a_Result += item; }
Debug.Log(a_Result);
// Insert: 중간 위치에 요소 삽입
a_List.Insert(1, "d ");
a_List.Insert(2, "e ");
a_Result = "";
foreach (string item in a_List) { a_Result += item; }
Debug.Log(a_Result);
}
/*
a b c
a c
a d e c
*/
Sort
비교함수 Comparison<T> 는 기본적으로 오름차순 정렬합니다. 사용자 정의 비교함수를 통해 임의의 정렬 방식을 설정할 수 있습니다.
▼ 사용 예시: Sort, Clear
using System.Collections.Generic;
int Comp(string a, string b)
{
return b.CompareTo(a);
}
void Start()
{
string a_Result;
List<string> a_List = new List<string>();
// Add: 마지막 위치에 요소 삽입
a_List.Add("a ");
a_List.Add("b ");
a_List.Add("c ");
a_List.Add("d ");
a_Result = "";
foreach (string item in a_List) { a_Result += item; }
Debug.Log(a_Result);
// Sort: 목록 내 요소 정렬
a_List.Sort(Comp);
a_Result = "";
foreach (string item in a_List) { a_Result += item; }
Debug.Log(a_Result);
// Clear: 목록 내 모든 요소 제거
a_List.Clear();
Debug.Log("Node Count: " + a_List.Count);
}
/*
a b c d
d c b a
Node Count: 0
*/
사용자 정의 함수 Comp 에서 정렬 방식에 따른 반환값은 다음과 같습니다.
- 오름차순 정렬(String 형식의 경우 사전적 정렬) 의 경우 a.CompareTo(b) 를 반환합니다.
- 내림차순 정렬의 경우 b.CompareTo(a) 를 반환합니다.
List<T> 클래스 (System.Collections.Generic)
인덱스로 액세스할 수 있는 강력한 형식의 개체 목록을 나타냅니다. 목록을 검색, 정렬 및 조작하는 메서드를 제공합니다.
learn.microsoft.com
List<T>.Sort 메서드 (System.Collections.Generic)
지정된 또는 기본 IComparer<T> 구현 또는 제공된 Comparison<T> 대리자를 사용하여 List<T>의 요소 또는 요소의 일부를 정렬하여 목록 요소를 비교합니다.
learn.microsoft.com
'📘프로그래밍 > C#' 카테고리의 다른 글
[C#] 12 네임스페이스 (0) | 2024.11.02 |
---|---|
[C#] 11 정적 멤버 (1) | 2024.11.02 |
[C#] 10 REF / OUT (1) | 2024.11.01 |
[C#] 09 생성자 / 소멸자 (2) | 2024.10.31 |
[C#] 08 클래스 (1) | 2024.10.30 |