2017-07-24 5 views
0

Je commence seulement à apprendre sur la structure de données abstraites. Auparavant, je ne pouvais pas ajouter d'éléments à la liste avec des types spécifiés. Maintenant je suis en train d'apprendre à propos d'un type abstrait, dans ce cas <T>Compréhension ADT en Java - Ajout d'un élément à la queue d'un Arraylist

Dans ce cas, comment ajouter un élément?

Je veux ajouter un élément dans la queue de l'arraylist. c'est ce que j'ai fait.

public class Q3ArrayList<T> { 


    private static final int INITIAL_SIZE = 2; 
    private static final double GROWTH_FACTOR = 1.5; 

    T[] values = (T[]) new Object[INITIAL_SIZE]; 
    int elements = 0; //NUMBER OF ELEMENTS IN THE LIST 

    /** 
    * Add a value to the tail of the list. 
    * 
    * @param value The value to be added. 
    */ 
    public void add(T value) { 

    } 

    public void remove(int index) { 
    values[elements--] = remove(index); 

} 
+0

l'essai précédent je reçois toujours le message d'erreur 'Erreur: (28, 23) java: types incompatibles: T ne peut pas être converti en T []' –

Répondre

2
void add(T element){ 
values[elements++] = element; 
} 

Cela élément ajouter à la fin de votre tableau, et d'augmenter la valeur de elements par un, de sorte que vous pouvez suivre nombre d'éléments dans le tableau. Je ne sais pas comment ajouter l'élément dans la queue de la liste.

+1

Peut-être: 'void ajouter (élément T) {values ​​[elements ++] = element;} ' –

+0

@ DavidPérezCabrera Vous avez raison. – wdc

+0

Cela a fonctionné, mais pouvez-vous m'expliquer en ce qui concerne l'intuition pourquoi cela a fonctionné. car comment se fait-il qu'il n'a aucune fonction 'add()' ... –