Share via


Queue Class

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Represents a first-in, first-out collection of objects.

Inheritance Hierarchy

System. . :: . .Object
  System.Collections..::..Queue

Namespace:  System.Collections
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
<SerializableAttribute> _
Public Class Queue _
    Implements ICollection, IEnumerable, ICloneable
[SerializableAttribute]
public class Queue : ICollection, IEnumerable, 
    ICloneable
[SerializableAttribute]
public ref class Queue : ICollection, IEnumerable, 
    ICloneable
[<SerializableAttribute>]
type Queue =  
    class
        interface ICollection
        interface IEnumerable
        interface ICloneable
    end
public class Queue implements ICollection, IEnumerable, ICloneable

The Queue type exposes the following members.

Constructors

  Name Description
Public method Queue Initializes a new instance of the Queue class that is empty, has the default initial capacity, and uses the default growth factor.

Top

Properties

  Name Description
Public property Count Gets the number of elements contained in the Queue.
Public property IsSynchronized Gets a value indicating whether access to the Queue is synchronized (thread safe).
Public property SyncRoot Gets an object that can be used to synchronize access to the Queue.

Top

Methods

  Name Description
Public method Clear Removes all objects from the Queue.
Public method Clone Creates a shallow copy of the Queue.
Public method Contains Determines whether an element is in the Queue.
Public method CopyTo Copies the Queue elements to an existing one-dimensional Array, starting at the specified array index.
Public method Dequeue Removes and returns the object at the beginning of the Queue.
Public method Enqueue Adds an object to the end of the Queue.
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetEnumerator Returns an enumerator that iterates through the Queue.
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method Peek Returns the object at the beginning of the Queue without removing it.
Public method ToArray Copies the Queue elements to a new array.
Public method ToString Returns a string that represents the current object. (Inherited from Object.)

Top

Remarks

Queues are useful for storing messages in the order they were received for sequential processing. This class implements a queue as a circular array. Objects stored in a Queue are inserted at one end and removed from the other.

The capacity of a Queue is the number of elements the Queue can hold. As elements are added to a Queue, the capacity is automatically increased as required through reallocation. The capacity can be decreased by calling TrimToSize.

The growth factor is the number by which the current capacity is multiplied when a greater capacity is required. The growth factor is determined when the Queue is constructed. The default growth factor is 2.0. The capacity of the Queue will always increase by at least a minimum of four, regardless of the growth factor. For example, a Queue with a growth factor of 1.0 will always increase in capacity by four when a greater capacity is required.

Queue accepts null Nothing nullptr unit a null reference (Nothing in Visual Basic) as a valid value and allows duplicate elements.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

System.Collections Namespace