C#에서 LinkedList에 특정 요소가 존재하는지 확인하려면 Contains() 메서드를 사용합니다. 이 메서드는 해당 요소가 리스트에 있으면 True를, 없으면 False를 반환합니다.
LinkedList 생성하기
먼저 정수 배열을 기반으로 LinkedList를 생성해 보겠습니다.
int[] num = {1, 3, 7, 15};
LinkedList<int> list = new LinkedList<int>(num);Contains() 메서드 사용법
리스트에 특정 노드가 포함되어 있는지 확인하려면 다음과 같이 Contains() 메서드를 호출합니다. 아래 예제는 값 3이 리스트에 있는지 검사합니다.
list.Contains(3)
리스트에 3이라는 요소가 존재하므로 위 코드는 True를 반환합니다.
전체 예제 코드
다음은 LinkedList에 새 노드를 추가한 후, Contains() 메서드로 특정 요소의 존재 여부를 확인하는 완전한 예제입니다.
using System;
using System.Collections.Generic;
class Demo {
static void Main() {
int[] num = {1, 3, 7, 15};
LinkedList<int> list = new LinkedList<int>(num);
// 초기 리스트 출력
foreach (var n in list) {
Console.WriteLine(n);
}
// 리스트 끝에 노드 추가
var newNode = list.AddLast(20);
// 위에서 추가한 노드 뒤에 새 노드 삽입
list.AddAfter(newNode, 30);
Console.WriteLine("새 노드 추가 후 LinkedList...");
foreach (var n in list) {
Console.WriteLine(n);
}
// 값 3이 리스트에 있는지 확인
Console.WriteLine("리스트에 숫자 3이 포함되어 있는가?: " + list.Contains(3));
}
}실행 결과
1 3 7 15 새 노드 추가 후 LinkedList... 1 3 7 15 20 30 리스트에 숫자 3이 포함되어 있는가?: True
정리
Contains() 메서드는 LinkedList 내부를 처음부터 끝까지 순회하며 지정한 값과 일치하는 요소를 찾습니다. 따라서 시간 복잡도는 O(n)이며, 요소 개수가 많은 경우 성능에 영향을 줄 수 있다는 점을 참고하시기 바랍니다.