Delete a particular item in a queue without using delete method

In reply to KillSteal:

why do you say queues are inefficient to delete elements in the middle of the queue ?

besides static or dynamic array, both queues and associative arrays allow us to delete an item based on the index using the delete(index) method.

please can you elaborate more on other efficient data structures besides queues ?