首页 > 其他分享 >Queue

Queue

时间:2025-01-08 17:00:42浏览次数:1  
标签:queue Console object Queue WriteLine array

队列的本质

Queue 的本质也是封装了特殊存储规则的 object[] 数组

Queue 是队列存储容易,是一种先进先出的数据结构


//申明
Queue queue = new Queue();
//增加
//因为是object数组,所以可以存储各种内容
queue.Enqueue(1);
queue.Enqueue("123");
//取
//先进先出
object v = queue.Dequeue();
//查
//查看顶部元素,不会移除
v = queue.Peek();
//查看是否存在
if(queue.Contains(1))
{
    Console.WriteLine("存在1");
}
//没有实现索引器,所以只能清空
queue.Clear();
//长度
Console.WriteLine(queue.Count);
//用foreach遍历
foreach(object item in queue)
{
    Console.WriteLine(item);
}
//将队列转成object数组,然后用for循环遍历
object[] array = queue.ToArray();
for (int i=0;i < array.Length;i++)
{
    Console.WriteLine(array[i]);
}
//循环出列
while(queue.Count>0)
{
    object o = queue.Dequeue();
    Console.WriteLine(o);
}

也有装箱拆箱

标签:queue,Console,object,Queue,WriteLine,array
From: https://www.cnblogs.com/cannedmint/p/18660073

相关文章

  • RabbitMQ高级篇之MQ可靠性 Lazy Queue
    文章目录数据持久化的背景和挑战引入惰性队列(LazyQueue)惰性队列的特点惰性队列的潜在问题RabbitMQ中的惰性队列实现如何创建惰性队列(LazyQueue)惰性队列的性能测试惰性队列的优势惰性队列的适用场景小结关键点总结数据持久化的背景和挑战持久化确保了即使Rabbit......
  • C# 队列的各种使用方法 private static ConcurrentQueue
            在C#中,ConcurrentQueue<T>是一个线程安全的先进先出(FIFO)集合,它位于System.Collections.Concurrent命名空间中。它非常适合在多线程环境中使用,因为它提供了一些原子操作来确保线程安全。以下是一些常见的ConcurrentQueue<T>使用方法,以ConcurrentQueue<st......
  • C#中的Queue与ConcurrentQueue:区别与适用场景
    在C#中,Queue<T>和ConcurrentQueue<T>是两种不同类型的队列,它们有不同的用途和特性。以下是它们之间的主要区别以及何时使用ConcurrentQueue<T>的详细解释。1.主要区别 1.线程安全性:  Queue<T>:不是线程安全的。如果在多线程环境中使用,需要额外的同步机制(如锁)来避免数据......
  • [数据结构学习笔记5] 队列(Queue)
    队列和堆栈类似,但是它是一种先进先出的结构。FIFO(firstinfirstout)。代码实现,javascriptclassQueue{constructor(){this.items=newLinkedList();}clear(){this.items=newLinkedList();}contains(item){......
  • Java面试要点111 - Java BlockingQueue实现原理
    文章目录引言一、BlockingQueue基本概念二、主要实现类解析2.1ArrayBlockingQueue实现原理2.2LinkedBlockingQueue实现原理三、高级特性应用3.1优先级队列实现3.2延迟队列实现四、实际应用场景4.1生产者-消费者模式总结引言BlockingQueue是Java并发包中的......
  • Java面试要点112 - Java延迟队列DelayQueue技术解析
    文章目录引言一、DelayQueue工作原理二、延迟队列的内部实现三、高级特性与优化3.1优先级控制3.2性能优化四、消息延迟投递系统五、定时任务调度实现六、异常处理与资源管理总结引言DelayQueue是Java并发包中一个专门用于延迟处理的阻塞队列实现,它根据延迟时间......
  • Hyperf async-queue 队列 [ERROR] RedisException: read error on connection to xxx
    起因:在redis异步队列中总是有很多超时的任务,于是将redis-queue的任务超时时间调整到了3600async_queue.php'default'=>['driver'=>\Hyperf\AsyncQueue\Driver\RedisDriver::class,'redis'=>['pool'=>'def......
  • Wend看源码-Java-集合学习(Queue)
    概述   Wend看源码-Java-集合学习(List)-CSDN博客    Wend看源码-Java-集合学习(Set)-CSDN博客    在前两篇文章中,我们分别探讨了Java集合框架的父类以及List集合和Set集合的实现。接下来,本文将重点阐述Java中的Queue集合,包括其内部的数据结构以及核心方......
  • python多进程之间通讯,消息队列Queue
    代码:frommultiprocessingimportProcess,Queuedefproducer(q):myinfo="包子"q.put(myinfo)print(f"生产了{myinfo}")myinfo="饺子"q.put(myinfo)print(f"生产了{myinfo}\n")''......
  • 20. ConcurrentLinkedQueue
    非阻塞队列。高效的并发队列,使用链表实现。可以看做一个线程安全的LinkedList,通过CAS操作实现。如果对队列加锁的成本较高则适合使用无锁的ConcurrentLinkedQueue来替代。适合在对性能要求相对较高,同时有多个线程对队列进行读写的场景。非阻塞队列中的几种主要方法:add(Ee......