Я смотрю на реализацию интерфейса Stack, используя List как базовую структуру данных, и я никогда ничего не видел, прежде чем объявлять что-то вроде этого. Обычно я вижу java.util.something
как импорт. Когда я буду использовать что-то вроде этого?Почему private final java.util.List < E > стек объявлен здесь как переменная?
public class ListStack<E> implements Stack<E>
{
private final java.util.List<E> stack;
public ListStack()
{
this.stack = new LinkedList<E>();
}
@Override
public boolean isEmpty()
{
return this.stack.isEmpty();
}
@Override
public E peek()
{
if (this.stack.isEmpty())
{
throw new EmptyStackException();
}
return this.stack.get(this.stack.size() - 1);
}
@Override
public E pop()
{
if (this.stack.isEmpty())
{
throw new EmptyStackException();
}
return this.stack.remove(this.stack.size() - 1);
}
@Override
public void push(E element)
{
this.stack.add(this.stack.size(), element);
}
@Override
public int size()
{
return this.stack.size();
}
}
стек интерфейс
public interface Stack<E>
{
public boolean isEmpty();
public E peek();
public E pop();
public void push(E element);
public int size();
}
Что вы хотите сказать? Почему они использовали полностью квалифицированные имена типов, а не импорт? –
Вам нужно было спросить человека, написавшего совершенно правильный код. –
@HovercraftFullOfEels да и когда вы используете что-то вроде этого? это первый раз, когда я вижу это – Ris