简体   繁体   中英

How to implement: interface MySortedCollection<T extends Comparable<T>>

I have the following interface:

interface MySortedCollection<T extends Comparable<T>> {
    boolean isElement(T t);
    void insert(T t);
    void printSorted();
}

I tried to use the AVLTree to implement the interface:

public class AVLTree<T> implements MySortedCollection{

  private AVLNode<T> tree=null;

  public AVLTree (){
  } 

  public boolean isElement(T t){

  }


  public void insert(T t){
    if(tree==null){
      tree= new AVLNode<T>(t);
    }
  }

  public void printSorted(){}

}

But I got the error:

error: AVLTree is not abstract and does not override abstract
method insert(Comparable) in MySortedCollection 
public class AVLTree<T> implements MySortedCollection{

What's wrong?

It should be

public class AVLTree<T extends Comparable<T>> implements MySortedCollection<T> {
}

Make sure that AVLNode class has a similar signature

public class AVLNode<T extends Comparable<T>> {
}

应该

public class AVLTree<T extends Comparable<T>> implements MySortedCollection<T> {

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM