Если вы посмотрите на методы LinkedList в Java, он предлагает операции для очереди, стека, очереди.
И я знаю, что вы можете реализовать очередь, стек или Deque с помощью LinkedList.Если вы посмотрите на реализацию C #, то Queue и Stack используют массивы.
Мне интересно, почему они предлагают метод push (T e) для связанного списка?
Почему Queue и Stack не являются отдельными классами, как C #.
Ниже приведен код для push и pop, который звучит как дух.Но почему?
public void push(Object obj)
{
addFirst(obj);
}
public Object pop()
{
return removeFirst();
}
Если вы посмотрите на HashMap или HashSet, он использует массив внутри, и есть LinkedHashSet и map соответственно для поддержания порядка.
Это не совсем сбивает с толку, но на самом деле это не имеет смысла.
Почему java имеет такую реализацию?