C# 集合(二) —— List/Queue类

总目录
C# 语法总目录

集合二 List/Queue

  • [1. List](#1. List)
  • [2. Queue](#2. Queue)

1. List

List有ArrayList和LinkedList

  • ArrayList 类似数组,查找快,插入删除慢(相对)
  • LinkedList 类似双向链表,查找慢(相对),插入删除快

//ArrayList

csharp 复制代码
//ArrayList
ArrayList arrList = new ArrayList();
arrList.Add("andy");
arrList.Add("sandy");
arrList.Add("sunny");

arrList.RemoveAt(1);

arrList.Reverse();

arrList.Insert(1, "tom");

arrList.InsertRange(0, new[] {"times","jerry"});

foreach (var item in arrList)
{
    Console.WriteLine(item);
}

/*
    times
    jerry
    sunny
    tom
    andy
 */

//LinkList

csharp 复制代码
//LinkList
LinkedList<string> linkArr = new LinkedList<string>();
//从头部加入
linkArr.AddFirst("andy");
linkArr.AddFirst("sandy");
linkArr.AddFirst("sunny");
//sunny
//sandy
//andy
//从尾部加入
linkArr.AddLast("tom");
linkArr.AddLast("jerry");
/*
sunny
sandy
andy
tom
jerry
*/

//在顺数第三个位置添加元素
linkArr.AddAfter(linkArr.First.Next, "get");
//在倒数第三个位置添加元素
linkArr.AddBefore(linkArr.Last.Previous, "give");

foreach (var item in linkArr)
{
    Console.WriteLine(item);
}

/*
sunny
sandy
get
andy
give
tom
jerry
*/

2. Queue

队列,先进先出

csharp 复制代码
Queue<string> queue = new Queue<string>();
queue.Enqueue("tom");
queue.Enqueue("jerry");
queue.Enqueue("times");

string deTemp = queue.Dequeue();
Console.WriteLine("dequeue ele is "+deTemp);
Console.WriteLine(queue.Count);
Console.WriteLine(queue.Contains("tom"));
//给容器瘦身
queue.TrimExcess();

string[] strArr = queue.ToArray();

foreach (var item in strArr)
{
    Console.WriteLine(item);
}
/*
    dequeue ele is tom
    2
    False
    jerry
    times
 */

总目录
C# 语法总目录

相关推荐
雨落在了我的手上25 分钟前
Java数据结构(九):栈和队列
java·开发语言·数据结构
j7~32 分钟前
【C语言】《C语言自定义类型(结构体+联合体+枚举类型)》--详解
c语言·开发语言·深度学习·结构体·位段·联合体·枚举类型
Escalating_xu43 分钟前
C++11 彻底吃透 emplace_back 与 push_back(最全闭环:左右值|深浅拷贝|移动构造|万能引用|完美转发)
开发语言·c++
逻极1 小时前
C# 从入门到精通:现代云原生与AI应用开发实战
ai·云原生·c#·.net
天天进步20151 小时前
Python全栈项目--基于机器学习的金融风险评估系统
开发语言·python·机器学习
皓月斯语1 小时前
B3865 [GESP202309 二级] 小杨的 X 字矩阵 题解
开发语言·c++·矩阵·题解
Highcharts.js9 小时前
教程:基于 React + Highcharts 构建一个单页应用程序、按需数据拉取与图表渲染
开发语言·前端·数据结构·react.js·前端框架·highcharts·页面应用
头发还在的女程序员11 小时前
医院陪诊管理系统怎么选择?——2026 年选型避坑与架构参考
java·开发语言·陪诊系统·陪诊app·医院陪诊陪护
爱写代码的小朋友13 小时前
从零开始学 Win32 API:C++ 窗口编程实战(VS Code + MinGW-w64 命令行详解)
开发语言·c++
果汁华13 小时前
Function Calling 与 Python 实战完整指南
开发语言·网络·python