如何将对象列表转换或转换为对象队列
如何将对象列表转换为队列,从而保持相同的顺序?
How can one convert a list of objects to a queue thereby maintaining the same order?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何将对象列表转换为队列,从而保持相同的顺序?
How can one convert a list of objects to a queue thereby maintaining the same order?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
Queue
有一个接受ICollection
的构造函数。您可以将列表传递到队列中,以使用相同的元素对其进行初始化:Queue
has a constructor that takes in anICollection
. You can pass your list into the queue to initialize it with the same elements:“相同的顺序”是什么意思?
如果这样做:
那么队列将以与列表相同的顺序进行枚举,这意味着对
Dequeue
的调用将返回先前驻留在list[0] 中的元素
。如果这样做:
那么队列将以与列表相反的顺序进行枚举,这意味着调用
Dequeue
将返回之前驻留在list[list.计数 - 1]
。What do you mean by "the same order?"
If you do this:
Then the queue will be enumerated over in the same order as the list, which means that a call to
Dequeue
would return the element that had previously resided atlist[0]
.If you do this:
Then the queue will be enumerated over in the opposite order as the list, which means that a call to
Dequeue
would return the element that had previously resided atlist[list.Count - 1]
.也就是说,假设“相同顺序”意味着要从队列中出队的第一个项目应该是 list[0]。
如果意思相反,只需使用反向循环:
for( int i = list.Count-1; i >= 0; i-- )
That is, assuming "same order" means that the first item to be dequeued from the queue should be list[0].
If it means the opposite, just use the reverse loop:
for( int i = list.Count-1; i >= 0; i-- )
将此扩展添加到您的工具箱中以创建特定类型的 FIFO 队列。
Add this extension to your toolbox to create a FIFO queue of the specific type.