PDA

View Full Version : [java] iterator


misterx
10-12-2003, 12:56
esisite un modo per passare un iterator tra una classe e l'altra senza usare un metodo ?

grazie

markleon
10-12-2003, 13:17
Stai per caso facendo un porgetto universitario?Ho bisogno di una mano.
Sono ancora alla classe Analizzatoretesto
Ho problemi nell'uno dello string Tokeniser.
Perchè se gli dico di pescare le stringhe con delimitatore # mi pesca nahce quelle che precedono il #.
IO devo prendere solo quelle che sono racchiuse.
Come caspita si fa?

kingv
10-12-2003, 14:56
Originariamente inviato da misterx
esisite un modo per passare un iterator tra una classe e l'altra senza usare un metodo ?
grazie


non capisco cosa intendi.

puoi fare
istanza.attributo = oggetto_iterator
come con qualsiasi altro membro della classe.

misterx
13-12-2003, 10:52
dunque

ho una classe "Contenitore" che prevede un metodo add() ed un metodo continenegià(Object c)

io sto popolando tale classe con degli oggetti di un qualche tipo esempio di codice:


Contenitore mieioggetti = new Contenitore();

mieioggetti.add(new MiaClasse(Nome, Cognome, via));

prima però di aggiungere un nuovo oggetto alla classe Contenitore, dovrei sapere se al suo interno ne esiste già uno di tale tipo

per questo la classe Contenitore mette a disposizione un metodo

contienegià(Object c)


quindi io dovrei scrivere:



if(mieioggetti.contienegià( ????????? ) )
fai qualcosa
else
fai qualcosa d'altro

è in quel ????? ch enon so cosa passare al metodo


p.s.
la classe Contenitpre prevede anche in metodo iterator()

misterx
13-12-2003, 18:40
up:(

fgmac
15-12-2003, 10:28
Devi passargli l'oggetto che vuoi aggiungere.


Ti consiglierei di fare cosi':

nel metodo add

public void add(Object _o) {
if(contienegià( _o) )
return; //non si fa nulla
else
//aggiungi effettivamente il nuovo oggetto
}


In questo modo il controllo di non aggiungere lo stesso elemento piu' volte lo fai implicitamente alla chiamata dell'add.