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# 语法总目录

相关推荐
博.闻广见1 分钟前
AI_Python基础-4.标准库与IO
开发语言·python
吃好睡好便好2 分钟前
在Matlab中绘制质点运动轨迹图
开发语言·学习·算法·matlab·信息可视化
richard_yuu2 分钟前
C#开发全景概述:从零读懂C#的定位、优势与完整技术体系
开发语言·c#
Xin_ye100864 分钟前
C# 零基础到精通教程 - 第十二章:异常处理与调试——让程序更健壮
开发语言·c#
楼田莉子6 分钟前
C#学习之C#入门学习
开发语言·后端·学习·c#
我命由我123457 分钟前
PHP - PHP 简易 Web 服务器、基础接口开发
服务器·开发语言·前端·php·intellij-idea·idea·intellij idea
Reload.8 分钟前
CZ航司,shopping JS逆向 acw_sc__v2
开发语言·javascript·python·网络爬虫·ecmascript
码界筑梦坊8 分钟前
130-基于Python的体育用品销售数据可视化分析系统
开发语言·python·信息可视化·flask·毕业设计
码界筑梦坊10 分钟前
131-基于Flask的美国新泽西州自动售货机销售数据可视化分析系统
开发语言·python·信息可视化·数据分析·flask·毕业设计
努力努力再努力wz11 分钟前
【QT入门系列】QWidget 六大常用属性详解:windowOpacity、cursor、font、focus、toolTip 与 styleSheet
android·开发语言·数据结构·c++·qt·mysql·算法