In accordance with what I learned, there is a certain responsibility in the queues to adhere to the behavior of "first-in-first".
You probably read a tutorial or lecture notes or something that describes how an idealized FIFO queue works. But you did not understand that not all queues are FIFO. Not in the real world, not in computer systems. (For example, if (presumably) President Obama went to the busy MacDonalds restaurant, you will find that he was immediately moved to the queue before the queue. This queue does not behave in the FIFO.)
In any case, Java Queue is an interface for any queue, not just FIFO queues. It also supports priority queues and any other queue semantics you could dream of ... if you want to provide your own implementation class.
Another point is that the remove(E) operation does not provide the next client operation. This is the equivalent of a customer deciding that they would really prefer pizza ... and going out the door. An idealized queue does not support this, but the library classes used ... because applications should be able to do such things.
The bottom line is that the Java Collection class hierarchy (including the Queue key) is intended for convenience and ease of use, and not for tight fitting some abstract model of data structures.
But then Queue can enable the sneakIn method, which allows you to break into the middle of the queue - where is this method?
Well, since most real applications do not need this, it is not there. (If this were a common use case, such a method would be provided in specific queue implementation classes, even if not in the Queue interface.)
Once again, Java classes and interfaces are indicated for their usefulness and usability in real programs, and not (in this case) so that they can simulate POTUS in a twilight hamburger.
Perhaps my brain is washed by descriptions of text books and C / C ++ laboratories that I did at school.
An alternative explanation is that you mistakenly accepted the true purpose of definitions, etc.