Tämmöinen kysymys: Jos saan parametrina joltakin
toiselta luokalta vektorin, kuinka pääsen käsiksi
vektorin sisältämän olioiden ominaisuuksiin? Siis
esim. jos olen tekemässä jotakin luokkaa, jonka
tehtävänä on tallentaa henkilötietoja (nimi, osoite jne.)
ja saan toisesta luokasta parametrina henkilö-olioita
sisältävän vektorin.. Juu, ja Javalla olisi tarkoitus toimia.
Kiitos vastauksesta.
toiselta luokalta vektorin, kuinka pääsen käsiksi
vektorin sisältämän olioiden ominaisuuksiin? Siis
esim. jos olen tekemässä jotakin luokkaa, jonka
tehtävänä on tallentaa henkilötietoja (nimi, osoite jne.)
ja saan toisesta luokasta parametrina henkilö-olioita
sisältävän vektorin.. Juu, ja Javalla olisi tarkoitus toimia.
Kiitos vastauksesta.
Vastaukset 2
Vanhimmat
Kun luokka laitetaan Vector:iin, niin luokan tyyppi "hukkuu". Saat sen takaisin castaamalla. Itse lähtisin liikkeelle tällaisellä rakenteella (koodia ei testattu):
..
import java.util.Enumeration;
import java.util.Vector;
..
public void myMethod(Vector v) {
for (Enumeration e = v.elements() ; e.hasMoreElements() ;) {
MyPersonClass mpc = (MyPersonClass) e.nextElement();
mpc.dosomething();
}
}
Näin:
for(int i = 0; i < vector.size(); i ) {
MyClass c = (MyClass) vector.elementAt(i);
}
Jos teet java-ohjelmaa muualle kuin Applettiin, ja threadit on tuttuja, niin suosittelen käyttämään ennemmin ArrayList:aa kuin Vectoria, koska vektori on synkronoitu, joten jos käsitellään suurta datamäärää, on saatava tehokuusero huomattava.