2010-10-11 7 views
1

J'ai une classe appelée Coordinate, et je suis en train de construire un vecteur de ces objets de coordonnées. Voici ce que les coordonnées de classe ressemble - il est assez simple:Accéder aux variables d'objets stockées dans un vecteur

class Coordinate { 
     public int x; 
     public int y; 

     // constructor 
     public Coordinate(int x, int y) { 
     this.x = x; 
     this.y = y; 
     } 
} 

Ma question est, après avoir fait un vecteur tenant plusieurs instances de cette classe, comment pourrais-je accéder au valeurs x ou y d'une coordonnée objet à une donnée indice du vecteur? À titre d'exemple:

v = new Vector<Coordinate>(); 
Coordinate a = new Coordinate(2, 3); 
Coordinate b = new Coordinate(1, 4); 
v.add(a);  
v.add(b); 

Comment pourrais-je accéder à la valeur y de l'objet à index0 du vecteur et de le comparer à la valeur y de l'objet à index1? Merci!

Répondre

5

La méthode get du vecteur renvoie l'objet réel dans le vecteur. Alors, est ici comment vous comparer les valeurs y:

if (v.get(0).y == v.get(1).y) 
0

Utilisez la méthode elementAt() pour obtenir une référence à l'objet contenu, puis accédez à son attribut y.

0

simplement, vous pouvez y accéder via la méthode get(int) de Vector:

boolean result = v.get(0).y == v.get(1).y; 

Dans ce cas, je vous suggère de faire référence à documentation. Pensez également à encapsuler vos champs pour la protection des données.

Questions connexes