# Der Vektor ist schuld...Problem mit durchsuchen von Vektor



## hongkongwuji (8. Dez 2006)

Hallo, 

ich habe ein 2D-Zeichenprogramm geschrieben (bin noch dabei), in dem 3 verschiedene Geometrien 
gezeichnet werden. 
Die Koordinaten der Punkte lege ich in einen Vektor ab. 
Um nun z.B. eine Geometrie modifizieren zu können muss ich ja auf die Punkte im Vektor zugreifen bzw. abfragen welche Geometrie sich  in der Nähe des Mauszeigers befindet. 
Problemlos funzt das anlegen und das befüllen des Vektors. Nun möchte ich gerne die x und y Koordinaten der
Punkte zurückgeben oder verwursten. 
Doch wie kann ich nun auf die einzelnen Spalten des Vektors zugreifen bzw. den Vektor durchsuchen?
Im Vektor werden doch lediglich Objekte gespeichert, wie kann ich diese in f lo at Werte umwandeln?


vielen Dank


----------



## André Uhres (10. Dez 2006)

hongkongwuji hat gesagt.:
			
		

> ..Im Vektor werden doch lediglich Objekte gespeichert, wie kann ich diese in f lo at Werte umwandeln?..


Objekte sind ja von einer bestimmten Klasse (Typ).
Diese Klasse muss eine Schnittstelle haben, die die gewünschten Werte liefern kann.
Nehmen wir mal an, die Klasse heisst Punkt. Die Schnittstelle könnte u.a. aus den Methoden getX() und getY()
bestehen, welche dir die Punktkoordinaten liefern:

```
package basics;
/*
 * TestPunkt.java
 */
import java.util.*;
public class TestPunkt {
    private Punkt punkt;
    private float x, y;
    private Vector vector;
    public TestPunkt() {
        //...
        vector = new Vector();
        //...
        vector.add(new Punkt(10f, 150f));
        //...
        for (int i = 0; i < vector.size(); i++) {
            punkt = ((Punkt)vector.get(i));
            x = punkt.getX();
            y = punkt.getY();
            System.out.println(x+" "+y);
            //...
        }
    }
    public static void main(final String[] args) {new TestPunkt();}
}
class Punkt{
    private float x,y;
    public Punkt(final float x, final float y){
        this.x = x;
        this.y = y;
    }
    public float getX(){
        return x;
    }
    public float getY(){
        return y;
    }
}
```


----------



## mis (10. Dez 2006)

Nunja, ich würd mal so ganz grob sagen dass du da eine Methode getX() und getY() definieren solltest, in etwa so:


```
public static void getX(int position)
{
// Nicht getestet, ich würd nur mal grob tippen dass das in etwa so gehen würde...
return Float.parseFloat(String.toString(deineListe.get(position)));
}
```


Naja, ansonsten gibts ja auch ArrayList<Float>


----------

