이미 생성된 List에 항목을 삽입하려면 Insert() 메서드를 사용합니다. 이 메서드는 지정한 인덱스 위치에 새로운 요소를 추가하고, 기존 요소들은 자동으로 뒤로 밀어냅니다.
리스트 요소 설정하기
먼저 리스트를 생성하고 요소들을 추가합니다.
List<int> list = new List<int>(); list.Add(989); list.Add(345); list.Add(654); list.Add(876); list.Add(234); list.Add(909);
Insert() 메서드로 항목 삽입하기
이제 4번째 위치에 항목을 삽입한다고 가정해 보겠습니다. 리스트의 인덱스는 0부터 시작하므로, 4번째 위치는 인덱스 3에 해당합니다.
// 4번째 위치(인덱스 3)에 요소 삽입 list.Insert(3, 567);
Insert() 메서드의 첫 번째 매개변수는 삽입할 위치의 인덱스이고, 두 번째 매개변수는 삽입할 값입니다.
전체 예제 코드
지금까지 설명한 내용을 하나의 완전한 예제로 정리하면 다음과 같습니다.
using System;
using System.Collections.Generic;
namespace Demo {
public class Program {
public static void Main(string[] args) {
List<int> list = new List<int>();
list.Add(989);
list.Add(345);
list.Add(654);
list.Add(876);
list.Add(234);
list.Add(909);
Console.WriteLine("Count: {0}", list.Count);
Console.Write("List: ");
foreach(int i in list) {
Console.Write(i + " ");
}
// 4번째 위치(인덱스 3)에 요소 삽입
list.Insert(3, 567);
Console.Write("\n삽입 후 리스트: ");
foreach(int i in list) {
Console.Write(i + " ");
}
Console.WriteLine("\nCount: {0}", list.Count);
}
}
}실행 결과
Count: 6 List: 989 345 654 876 234 909 삽입 후 리스트: 989 345 654 567 876 234 909 Count: 7
실행 결과를 보면 인덱스 3 위치에 값 567이 삽입되고, 기존에 있던 876 이후의 요소들이 한 칸씩 뒤로 이동한 것을 확인할 수 있습니다. 또한 리스트의 전체 개수(Count)도 6에서 7로 증가했습니다.
참고 사항
Add()메서드는 항상 리스트의 맨 끝에 요소를 추가하지만,Insert()메서드는 원하는 특정 위치에 요소를 삽입할 수 있습니다.- 인덱스가 0보다 작거나 리스트의 현재 크기보다 크면
ArgumentOutOfRangeException예외가 발생합니다.