Probleme Classe Vector

Fermé
sorento02 Messages postés 3 Date d'inscription dimanche 11 novembre 2012 Statut Membre Dernière intervention 14 novembre 2012 - 14 nov. 2012 à 09:08
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 14 nov. 2012 à 14:52
Bonjour,

voila j'ai un petit probleme j'espere que vous allez pouvoir m'aider


j'ai une classe A qui maniple un Vector

ji'instancie ma classe en question dans une autre classe B et je veux manipuler mon Vector à partir de la classe B

je veux plus precisement acceder au 1er element de mon vector (appartenant à la classe A ) mais à partir de la classe B


Merci d'avance

2 réponses

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
14 nov. 2012 à 14:52
Depuis la version Java 1.2 il est recommandé d'utiliser ArrayList à la place de Vector, qui ne devrait être utilisé que dans le contexte très particulier d'application thread-safe.

Pour ton problème, si tu as juste besoin du premier élément, une petite méthode suffit.

public class A<E>
{
    private final ArrayList<E> vector = new ArrayList<E>();
    
    public E getFirst()
    {
        return vector.get(0);
    }
}

public class B<E>
{
    A<E> a = new A<E>();
    
    E first = a.getFirst();
}
1
ngounou25 Messages postés 96 Date d'inscription mercredi 6 août 2008 Statut Membre Dernière intervention 5 juillet 2013 4
14 nov. 2012 à 11:51
Salut. Ceci est un code un peu abstrait ;-) . Tu devras juste remplacer "E" par le type d'objet (Integer, Double, JTextField, JPanel, ...) que ton Vector va stocker.

Class A {
    // le vector de A
    private Vector<E> vec = new Vector<E>();

    ....

    public Vector<E> getVec() {
        return this.vec;
    }

    public void setVec(Vector<E> vec) {
        this.vec = vec;
    }
}


Class B {
    private A monA;

    ....

    public mafonction() {

        // Récupération d'une référence du Vector de A dans la classe B
        Vector<E> vec = getMonA().getVec();

        ...
    }

    ....

    public A getMonA() {
        return this.monA;
    }

    public void setMonA(A monA) {
        this.monA = monA;
    }
}

0