Oi!
Não é necessário! Na verdade, o método Peek é geralmente implementado de forma a permitir que você visualize qualquer elemento da fila, independentemente do tipo de elemento.
Uma forma de fazer isso é usar o método Peek para retornar o próximo elemento da fila como um objeto genérico (como, por exemplo, um objeto do tipo "Object" em C# ou um objeto do tipo "Any" em Swift). Dessa forma, você pode chamar o método Peek e, independentemente do tipo de elemento que estiver na frente da fila, o método retornará um objeto que pode ser comparado com outros objetos usando os operadores de igualdade e desigualdade.
Algo assim poderia ser usado para verificar se o próximo elemento da fila é um guincho:
Queue<Object> queue = new Queue<Object>();
// Adiciona elementos à fila
queue.Enqueue("primeiro elemento");
queue.Enqueue("segundo elemento");
queue.Enqueue("terceiro elemento");
// Usa o método Peek para verificar se o próximo elemento é um guincho
if (queue.Peek() == "guincho")
{
Console.WriteLine("guincho está fazendo o pagamento");
}
Espero ter ajudado e bons estudos,
Abcs!