Pour une classe CS, je dois résoudre un problème affecté en utilisant trois structures de données: File d'attente, PriorityQueue et Stack. Je voulais écrire une seule solution au problème en utilisant une structure de données abstraite. Je voudrais implémenter l'ADT avec une classe wrapper de chaque type de données requis. Voilà ce que j'ai jusqu'à présent:Utilisation de génériques avec des types de données abstraits en Java
Une interface appelée Méthode:
public interface Method<E> {
public abstract void add(E data);
public abstract E remove();
public abstract E peek();
public abstract Iterator<E> Iterator();
}
Et trois classes d'emballage qui mettent en œuvre l'interface. Je les ai appelés QueueMethod, StackMethod et PriorityQueueMethod. J'ai de la difficulté à implémenter l'interface. C'est un début pour l'implémentation qui donne l'erreur "La classe n'est pas abstraite et ne remplace pas la méthode abstraite add (java.lang.Object)". Autant que je peux dire la signature des deux méthodes d'addition sont identiques.
est ici le début QueueMethod classe wrapper:
public class PriorityQueueMethod<T> implements Method {
PriorityQueue<T> queue;
public PriorityQueueMethod() {
queue = new PriorityQueue<T>();
}
public void add(T data) {
queue.offer(data);
}
}
try add (Données d'objet) pour la méthode d'implémentation. – rapadura
@AntonioP non, ce serait une solution non générique. vous résolvez le mauvais problème. –