How Does Priority Queue Work In Java