java.lang.AbstractMethodError: Метод DoublyLinkedList.isEmpty () Z является абстрактным? - PullRequest
0 голосов
/ 21 сентября 2018

Мой метод toString () внизу выдает мне вышеуказанную ошибку при попытке проверить пустой DoublyLinkedList в моем основном методе также внизу.Моя интуиция подсказывает мне, что это может быть вызвано интерфейсом List, который я реализую, так как слово «List» подчеркнуто красным, читая «Тип List уже определен», а метод isEmpty () извлечен из этого интерфейса.Не совсем уверен, хотя.Надеюсь, это ни для кого не бремя.Заранее спасибо.

public class DoublyLinkedList<T> implements List<T> {

  /**
   * Node is a pair containing a data field and a pointers to
   * the previous and next nodes in the list.
   */
  class Node {
    T data;
    Node next, prev;

    Node(T data) {
      this(data, null, null);
    }

    Node(T data, Node prev, Node next) {
      this.data = data;
      this.prev = prev;
      this.next = next;
    }
  }

  Node head;  // always points to the headnode for this list
  int n;      // the number of nodes in this list, initially 0

  /**
   * Creates the empty list. 
   */
  public DoublyLinkedList() {
    // TODO: Create the headnode.
    // Note that the prev and next fields in the headnode should 
    // point back to the headnode.
      Node head = new Node(null);
      head.prev=head;
      head.next=head;

  }

  public String toString() {
      System.out.println("meeee");
    if (this.isEmpty())
      return "()";    
    Iterator<T> it = iterator();
    StringBuilder ans = new StringBuilder("(").append(it.next());
    while (it.hasNext())
      ans.append(" ").append(it.next());
    return ans.append(")").toString();
  }

 public static void main(String... args) {
    DoublyLinkedList<Integer> xs = new DoublyLinkedList<>();
    System.out.println(xs.toString());
}

interface List<T> extends Iterable<T> {
  void add(T x);  // simple add
  T remove(int i);
  T get(int i);
  boolean contains(T x);
  int size();
  default boolean isEmpty() {
    return size() == 0;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...