Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# LinkedList에서 마지막 노드를 가져오는 방법

C#에서 LinkedList<T>의 마지막 노드를 확인하고 싶다면 Last 속성을 사용하면 됩니다. Last 속성은 연결 리스트의 마지막 노드를 반환하며, Value 프로퍼티를 통해 해당 노드에 저장된 실제 값을 읽어올 수 있습니다.

마찬가지로 첫 번째 노드가 필요할 때는 First 속성을, 현재 저장된 요소 개수를 확인할 때는 Count 속성을 활용하면 편리합니다.

예제 1: 문자열 LinkedList

다음은 문자열을 요소로 가지는 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");
      list.AddLast("G");
      list.AddLast("H");
      list.AddLast("I");
      list.AddLast("J");

      Console.WriteLine("노드 개수 = " + list.Count);
      Console.WriteLine("첫 번째 노드 = " + list.First.Value);
      Console.WriteLine("마지막 노드 = " + list.Last.Value);

      list.Clear();
      Console.WriteLine("노드 개수 (초기화 후) = " + list.Count);
   }
}

실행 결과

노드 개수 = 10
첫 번째 노드 = A
마지막 노드 = J
노드 개수 (초기화 후) = 0

예제 2: 정수형 LinkedList

이번에는 정수형(int) 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);
      list.AddLast(400);
      list.AddLast(500);
      list.AddLast(600);
      list.AddLast(700);
      list.AddLast(800);
      list.AddLast(900);
      list.AddLast(1000);

      Console.WriteLine("노드 개수 = " + list.Count);
      Console.WriteLine("첫 번째 노드 = " + list.First.Value);
      Console.WriteLine("마지막 노드 = " + list.Last.Value);

      list.Clear();
      Console.WriteLine("노드 개수 (초기화 후) = " + list.Count);
   }
}

실행 결과

노드 개수 = 10
첫 번째 노드 = 100
마지막 노드 = 1000
노드 개수 (초기화 후) = 0

핵심 정리

  • Last: LinkedList의 마지막 노드를 반환합니다. 빈 리스트에서 호출하면 null을 반환하므로 주의해야 합니다.
  • First: LinkedList의 첫 번째 노드를 반환합니다.
  • Count: 리스트에 포함된 노드의 총 개수를 나타냅니다.
  • Clear(): 리스트의 모든 노드를 제거하여 개수를 0으로 만듭니다.

이처럼 C#의 LinkedList 클래스는 Last.Value 한 줄만으로 마지막 노드의 값에 바로 접근할 수 있어, 배열처럼 인덱스를 순회할 필요 없이 효율적으로 데이터를 다룰 수 있습니다.