C# | Clase de cola

La cola representa unacolección de objetos de tipo primero en entrar, primero en salir . Se utiliza cuando necesita un acceso de elementos por orden de entrada. Cuando agrega un elemento en la lista, se llama poner en cola , y cuando elimina un elemento, se llama quitar de la cola . Esta clase se incluye en elnombres System.Collections e implementa las interfaces ICollection, IEnumerable e ICloneable .

Características de la clase de cola:

  • Enqueue agrega un elemento al final de la cola.
  • Dequeue elimina el elemento más antiguo del inicio de la cola.
  • Peek devuelve el elemento más antiguo que está al comienzo de la Cola pero no lo elimina de la Cola.
  • La capacidad de una Cola es el número de elementos que la Cola puede contener.
  • A medida que se agregan elementos a una cola, la capacidad aumenta automáticamente según sea necesario mediante la reasignación de la array interna.
  • Queue acepta nulo como un valor válido para los tipos de referencia y permite elementos duplicados.

Constructores

Constructor Descripción
Cola() Inicializa una nueva instancia de la clase Queue que está vacía, tiene la capacidad inicial predeterminada y usa el factor de crecimiento predeterminado.
Cola (IColección) Inicializa una nueva instancia de la clase Queue que contiene elementos copiados de la colección especificada, tiene la misma capacidad inicial que el número de elementos copiados y usa el factor de crecimiento predeterminado.
Cola (Int32) Inicializa una nueva instancia de la clase Queue que está vacía, tiene la capacidad inicial especificada y usa el factor de crecimiento predeterminado.
Cola (Int32, Único) Inicializa una nueva instancia de la clase Queue que está vacía, tiene la capacidad inicial especificada y usa el factor de crecimiento especificado.

Ejemplo:

// C# code to create a Queue
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a Queue 
        Queue myQueue = new Queue();
  
        // Inserting the elements into the Queue
        myQueue.Enqueue("one");
  
        // Displaying the count of elements
        // contained in the Queue
        Console.Write("Total number of elements in the Queue are : ");
  
        Console.WriteLine(myQueue.Count);
  
        myQueue.Enqueue("two");
  
        // Displaying the count of elements
        // contained in the Queue
        Console.Write("Total number of elements in the Queue are : ");
  
        Console.WriteLine(myQueue.Count);
  
        myQueue.Enqueue("three");
  
        // Displaying the count of elements
        // contained in the Queue
        Console.Write("Total number of elements in the Queue are : ");
  
        Console.WriteLine(myQueue.Count);
  
        myQueue.Enqueue("four");
  
        // Displaying the count of elements
        // contained in the Queue
        Console.Write("Total number of elements in the Queue are : ");
  
        Console.WriteLine(myQueue.Count);
  
        myQueue.Enqueue("five");
  
        // Displaying the count of elements
        // contained in the Queue
        Console.Write("Total number of elements in the Queue are : ");
  
        Console.WriteLine(myQueue.Count);
  
        myQueue.Enqueue("six");
  
        // Displaying the count of elements
        // contained in the Queue
        Console.Write("Total number of elements in the Queue are : ");
  
        Console.WriteLine(myQueue.Count);
    }
}
Producción:

Total number of elements in the Queue are : 1
Total number of elements in the Queue are : 2
Total number of elements in the Queue are : 3
Total number of elements in the Queue are : 4
Total number of elements in the Queue are : 5
Total number of elements in the Queue are : 6

Propiedades

Propiedad Descripción
Contar Obtiene el número de elementos contenidos en la Cola.
Está sincronizado Obtiene un valor que indica si el acceso a la cola está sincronizado (seguro para subprocesos).
SyncRoot Obtiene un objeto que se puede usar para sincronizar el acceso a la cola.

Ejemplo:

// C# code to Get the number of
// elements contained in the Queue
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a Queue
        Queue myQueue = new Queue();
  
        // Inserting the elements into the Queue
        myQueue.Enqueue("Chandigarh");
        myQueue.Enqueue("Delhi");
        myQueue.Enqueue("Noida");
        myQueue.Enqueue("Himachal");
        myQueue.Enqueue("Punjab");
        myQueue.Enqueue("Jammu");
  
        // Displaying the count of elements
        // contained in the Queue
        Console.Write("Total number of elements in the Queue are : ");
  
        Console.WriteLine(myQueue.Count);
    }
}
Producción:

Total number of elements in the Queue are : 6

Métodos

Método Descripción
Claro() Elimina todos los objetos de la cola.
Clon() Crea una copia superficial de la cola.
Contiene (Objeto) Determina si un elemento está en la cola.
Copiar a (array, Int32) Copia los elementos de la cola en una array unidimensional existente, comenzando en el índice de array especificado.
Quitar de la cola() Elimina y devuelve el objeto al principio de la cola.
Poner en cola (Objeto) Agrega un objeto al final de la cola.
Es igual a (Objeto) Determina si el objeto especificado es igual al objeto actual.
ObtenerEnumerador() Devuelve un enumerador que itera a través de la cola.
Obtener código hash() Sirve como la función hash predeterminada.
ObtenerTipo() Obtiene el Tipo de la instancia actual.
MemberwiseClone() Crea una copia superficial del objeto actual.
Ojeada() Devuelve el objeto al principio de la Cola sin eliminarlo.
Sincronizado (Cola) Devuelve una nueva cola que envuelve la cola original y es segura para subprocesos.
AArray() Copia los elementos de la cola en una nueva array.
Enstringr() Devuelve una string que representa el objeto actual.
RecortarAlTamaño() Establece la capacidad en el número real de elementos en la cola.

Ejemplo 1:

// C# code to Check if a Queue
// contains an element
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a Queue
        Queue myQueue = new Queue();
  
        // Inserting the elements into the Queue
        myQueue.Enqueue(5);
        myQueue.Enqueue(10);
        myQueue.Enqueue(15);
        myQueue.Enqueue(20);
        myQueue.Enqueue(25);
  
        // Checking whether the element is
        // present in the Queue or not
        // The function returns True if the
        // element is present in the Queue, else
        // returns False
        Console.WriteLine(myQueue.Contains(7));
    }
}
Producción:

False

Ejemplo 2:

// C# code to Convert Queue to array
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a Queue 
        Queue myQueue = new Queue();
  
        // Inserting the elements into the Queue
        myQueue.Enqueue("Geeks");
        myQueue.Enqueue("Geeks Classes");
        myQueue.Enqueue("Noida");
        myQueue.Enqueue("Data Structures");
        myQueue.Enqueue("GeeksforGeeks");
  
        // Converting the Queue
        // into object array
        Object[] arr = myQueue.ToArray();
  
        // Displaying the elements in array
        foreach(Object obj in arr)
        {
            Console.WriteLine(obj);
        }
    }
}
Producción:

Geeks
Geeks Classes
Noida
Data Structures
GeeksforGeeks

Referencia:

Publicación traducida automáticamente

Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *