Remove() 메서드를 사용하면 LinkedList에서 지정한 값과 일치하는 첫 번째 노드를 제거할 수 있습니다.
먼저 정수 요소를 포함하는 LinkedList를 생성해 보겠습니다.
int[] num = {2, 5, 7, 15};
LinkedList<int> list = new LinkedList<int>(num);
이제 값이 7인 노드를 제거해야 한다고 가정해 보겠습니다. 이 경우 Remove() 메서드에 7을 인수로 전달하기만 하면 됩니다.
list.Remove(7);
Remove() 메서드는 리스트를 처음부터 순회하며 일치하는 값을 찾으면 해당 노드를 연결에서 해제합니다. 참고로 일치하는 요소가 존재하지 않으면 리스트는 아무런 변화 없이 그대로 유지됩니다.
그럼 전체 코드를 살펴보겠습니다.
예제
using System;
using System.Collections.Generic;
class Demo {
static void Main() {
int[] num = {2, 5, 7, 15};
LinkedList<int> list = new LinkedList<int>(num);
foreach (var n in list) {
Console.WriteLine(n);
}
// 마지막에 새 노드 추가
var newNode = list.AddLast(25);
Console.WriteLine("새 노드 추가 후 LinkedList...");
foreach (var n in list) {
Console.WriteLine(n);
}
// 노드 제거
list.Remove(7);
Console.WriteLine("노드 제거 후 LinkedList...");
foreach (var n in list) {
Console.WriteLine(n);
}
}
}
실행 결과
2 5 7 15 새 노드 추가 후 LinkedList... 2 5 7 15 25 노드 제거 후 LinkedList... 2 5 15 25
위 실행 결과에서 확인할 수 있듯이, AddLast()로 25를 추가한 뒤 Remove(7)을 호출하면 값 7을 가진 노드만 제거되고 나머지 요소들은 순서가 그대로 유지됩니다.