在队列列表中获得最小的队列深度

时间:2014-01-17 18:24:04

标签: list mq

我有一个MQ队列列表。在队列列表中,我需要找到深度最小的队列。 我可以使用int depth = locQueue.getCurrentDepth();来获取队列深度。但我不知道如何使队列对应于最小队列深度。

例如:

Q1 2 Q2 3 Q3 5 Q4 1

我需要Q3作为输出。有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

如果你有一个队列列表,那么它看起来像这样:

List<Queue> queues;

int indexOfLowest = -1;
int lowestCount = int.MaxValue;

foreach(var q in queues)
{
    if( q.Length < lowestCount )
    {
        indexOfLowest = queues.IndexOf( q );
        lowestCount = q.Length;
    }
}

var smallestQueue = queues.ElementAt( indexOfLowest );

希望这有帮助,但我不知道你在用什么语言。