C#에서 LinkedList(연결 리스트)의 마지막 노드를 제거하고 싶다면 RemoveLast() 메서드를 사용하면 됩니다. 이 메서드는 리스트의 맨 뒤에 있는 노드를 삭제하며, 별도의 인덱스 계산 없이 한 번의 호출로 처리할 수 있습니다.
1. 연결 리스트 생성하기
먼저 다음과 같이 문자열 배열을 기반으로 LinkedList를 생성합니다.
string[] employees = {"Patrick", "Robert", "John", "Jacob", "Jamie"};
LinkedList<string> list = new LinkedList<string>(employees);2. RemoveLast() 메서드로 마지막 노드 제거하기
위 리스트에서 마지막 노드인 "Jamie"를 제거해야 한다고 가정해 보겠습니다. 이 경우 아래와 같이 RemoveLast() 메서드를 호출하기만 하면 됩니다.
list.RemoveLast();
메서드가 실행되면 리스트의 마지막 요소가 삭제되고, 나머지 노드들의 연결 구조는 자동으로 유지됩니다.
3. 전체 예제 코드
using System;
using System.Collections.Generic;
class Demo {
static void Main() {
string[] employees = {"Patrick", "Robert", "John", "Jacob", "Jamie"};
LinkedList<string> list = new LinkedList<string>(employees);
// 제거 전 리스트 출력
foreach (var emp in list) {
Console.WriteLine(emp);
}
// 마지막 노드 제거
list.RemoveLast();
Console.WriteLine("마지막 노드 제거 후 LinkedList...");
foreach (var emp in list) {
Console.WriteLine(emp);
}
}
}4. 실행 결과
Patrick Robert John Jacob Jamie 마지막 노드 제거 후 LinkedList... Patrick Robert John Jacob
참고 사항
RemoveLast() 메서드는 리스트가 비어 있을 경우 InvalidOperationException 예외를 발생시킵니다. 따라서 빈 리스트에 대해 호출할 가능성이 있다면 Count 속성으로 요소 존재 여부를 먼저 확인하는 것이 안전합니다. 반대로 첫 번째 노드를 제거할 때는 RemoveFirst() 메서드를 사용하면 됩니다.