C#의 LinkedList<T> 클래스에서 리스트 맨 끝에 새로운 노드나 값을 추가할 때는 AddLast() 메서드를 사용합니다. 이 메서드는 연결 리스트의 마지막 위치에 지정한 값을 가진 새 노드를 삽입하며, O(1)의 시간 복잡도로 빠르게 동작합니다.
아래 예제를 통해 실제 사용 방법을 살펴보겠습니다.
예제 1: 문자열 LinkedList에 요소 추가
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
LinkedList<String> list = new LinkedList<String>();
list.AddLast("A");
list.AddLast("B");
list.AddLast("C");
list.AddLast("D");
list.AddLast("E");
list.AddLast("F");
Console.WriteLine("노드 개수 = " + list.Count);
Console.WriteLine("LinkedList의 요소들...");
foreach (string res in list) {
Console.WriteLine(res);
}
// 끝에 새로운 값 추가
list.AddLast("G");
list.AddLast("H");
list.AddLast("I");
Console.WriteLine("노드 개수 = " + list.Count);
Console.WriteLine("LinkedList의 요소들...");
foreach (string res in list) {
Console.WriteLine(res);
}
}
}출력 결과
노드 개수 = 6 LinkedList의 요소들... A B C D E F 노드 개수 = 9 LinkedList의 요소들... A B C D E F G H I
위 실행 결과를 보면, 처음 6개의 요소(A~F)가 추가된 후 AddLast()를 통해 G, H, I 세 개의 값이 리스트 맨 뒤에 순차적으로 삽입되어 총 9개의 노드를 갖게 된 것을 확인할 수 있습니다.
예제 2: 정수형 LinkedList에 요소 추가
이번에는 정수 타입의 LinkedList에 값을 추가하는 예제입니다.
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
LinkedList<int> list = new LinkedList<int>();
list.AddLast(100);
list.AddLast(200);
list.AddLast(300);
Console.WriteLine("노드 개수 = " + list.Count);
Console.WriteLine("LinkedList의 요소들...");
foreach (int res in list) {
Console.WriteLine(res);
}
// 끝에 새로운 값 추가
list.AddLast(400);
list.AddLast(500);
list.AddLast(600);
Console.WriteLine("노드 개수 = " + list.Count);
Console.WriteLine("LinkedList의 요소들...");
foreach (int res in list) {
Console.WriteLine(res);
}
}
}출력 결과
노드 개수 = 3 LinkedList의 요소들... 100 200 300 노드 개수 = 6 LinkedList의 요소들... 100 200 300 400 500 600
핵심 정리
- AddLast(T value): LinkedList의 마지막에 새 노드를 추가합니다.
- Count 속성: 현재 리스트에 포함된 노드의 개수를 반환합니다.
- foreach 문: LinkedList는 IEnumerable<T>를 구현하므로 foreach로 손쉽게 순회할 수 있습니다.
- LinkedList는 양방향 연결 리스트(doubly-linked list)이므로, 끝뿐만 아니라 AddFirst()를 사용해 맨 앞에도 값을 추가할 수 있습니다.