import java.util.LinkedList;
import java.util.NoSuchElementException;
public class CustomDeque<T> implements Deque<T> {
private LinkedList<T> deque;
public CustomDeque() {
this.deque = new LinkedList<>();
}
@Override
public void addFirst(T element) {
deque.addFirst(element);
}
@Override
public void addLast(T element) {
deque.addLast(element);
}
@Override
public T removeFirst() {
if (isEmpty()) {
throw new NoSuchElementException("Deque is empty");
}
return deque.removeFirst();
}
@Override
public T removeLast() {
if (isEmpty()) {
throw new NoSuchElementException("Deque is empty");
}
return deque.removeLast();
}
@Override
public boolean isEmpty() {
return deque.isEmpty();
}
}
この解答例では、addFirst
、addLast
、removeFirst
、removeLast
、isEmpty
の各メソッドを実装しています。実際の使用に応じてジェネリクス T
を調整することができます。なお、このクラスは LinkedList
を利用しているため、リンクドリストにおける追加と削除の操作が適用されます。