C# 属性

C# 抽象

C# 字符串

C# 泛型

C# 杂项

C# 新特性

C# LinkedList<T> 链表

C# LinkedList<T> 类使用链表的概念。它允许我们快速插入和删除元素。它可以有重复的元素。它位于 System.Collections.Generic 命名空间中。

它允许我们在索引之前或最后一个索引处添加和删除元素。

C# LinkedList<T> 示例

让我们看一个通用 LinkedList<T> 类的示例,该类使用 AddLast() 和 AddFirst() 方法存储元素并使用 for-each 循环迭代元素。

例子 (Example)

using System;  
using System.Collections.Generic;  
  
public class LinkedListExample  
{  
    public static void Main(string[] args)  
    {  
        // Create a list of strings  
        var names = new LinkedList<string>();  
        names.AddLast("Sonoo Jaiswal");  
        names.AddLast("Ankit");  
        names.AddLast("Peter");  
        names.AddLast("Irfan");  
        names.AddFirst("John");//added to first index  
  
        // Iterate list element using foreach loop  
        foreach (var name in names)  
        {  
            Console.WriteLine(name);  
        }  
    }  
}

输出:

John
Sonoo Jaiswal
Ankit
Peter
Irfan

注意:与 List 不同,您不能使用 Collection 初始化程序创建 LinkedList。

C# LinkedList<T> 示例 2

让我们看看另一个在特定节点之前和之后存储元素的通用 LinkedList<T> 类的示例。要获取特定节点,我们调用 Find() 方法。

例子 (Example)

using System;  
using System.Collections.Generic;  
  
public class LinkedListExample  
{  
    public static void Main(string[] args)  
    {  
        // Create a list of strings  
        var names = new LinkedList<string>();  
        names.AddLast("Sonoo");  
        names.AddLast("Ankit");  
        names.AddLast("Peter");  
        names.AddLast("Irfan");  
          
        //insert new element before "Peter"  
        LinkedListNode<String> node=names.Find("Peter");  
        names.AddBefore(node, "John");  
        names.AddAfter(node, "Lucy");  
  
        // Iterate list element using foreach loop  
        foreach (var name in names)  
        {  
            Console.WriteLine(name);  
        }  
    }  
}

输出:

Sonoo
Ankit
John
Peter
Lucy
Irfan

正如您在上面的输出中看到的那样,在“Peter”之前和之后添加了“John”和“Lucy”。


  • 使用社交账号登录,本站支持
全部评论(0)