Pages: [1]   Go Down
Print
Author Topic: Scorrere una lista  (Read 1128 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
andreasn
Matricola
*
Offline Offline

Posts: 2


« on: 13-09-2012, 20:27:57 »

E' corretto scorrere una lista concatenata da un metodo esterno alla classe lista (sfruttando head)? Se sì, il nodo head andrebbe dichiarato public?

Esempio:
Code:
public class Lista {
    public Nodo head;
    public Lista() {
        head=null;
    }
    [...]
}

[...]
public static void main(String[] args) {
    Lista lista=new Lista();
    [...]
    Nodo p=lista.head;
    while (p!=null) {
        [...]
        p=p.next;
    }
}
Logged
dawid
Matricola
*
Offline Offline

Posts: 27


« Reply #1 on: 14-09-2012, 10:05:18 »

per come la vedo io la puoi scorrere nel main ma eviterei l'accesso diretto a head... opterei piu per un getHead() a questo punto ovviamente con head privato...
Logged
Ocelot92
Apprendista Forumista
**
Offline Offline

Posts: 301



« Reply #2 on: 15-09-2012, 09:48:40 »

Quoto. E' corretto scorrerla fuori dichiarandosi un metodo get per l'head. Tuttavia, ti serve davvero scorrerla al di fuori dalla classe?
Logged

I'm happy to tell you all that...
((λf.λx.f(f(x))) (λy.y^2)) (5)  = 5^4

"Si ma dillo che bisogna cliccare APPLY per crearle le partizioni…" - cit. Utente dopo aver seguito un How-To... .-.
andreasn
Matricola
*
Offline Offline

Posts: 2


« Reply #3 on: 16-09-2012, 19:11:25 »

Grazie per le risposte. Forse posso risolvere in altro modo, ci devo pensare.
Logged
W_doppio
Matricola
*
Offline Offline

Gender: Male
Posts: 99



WWW
« Reply #4 on: 18-09-2012, 17:41:33 »

Grazie per le risposte. Forse posso risolvere in altro modo, ci devo pensare.

non ho la certezza che sia giusto ma per scorrere la lista secondo me si può fare così:
Code:

ListNode aux = myList.getHead();
        for(; aux.getNext()!= null; aux = aux.getNext())
              System.out.print(aux.getInfo());
Logged

"Se qualcosa può andare storto, lo farà". (Legge di Murphy)
LtWorf
Forumista Esperto
****
Offline Offline

Posts: 1.079

Ogni cosa da me scritta è da intendersi come opinione personale e non come dato di fatto. Anche le eventuali dimostrazioni matematiche da me scritte saranno opinioni personali e quindi dovranno venire dimostrate da una terza parte di fiducia


WWW
« Reply #5 on: 29-09-2012, 14:24:15 »

Il metodo veramente corretto sarebbe implementare una classe che abbia l'interfaccia Iterator

http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Iterator.html

e nella lista mettere una cosa tipo getNewIterator(), o semplicemente iterator() come si chiama nella lista di java.
Logged

There are some OO programming languages. I will create the first -_-' language.

LtWorf
Pages: [1]   Go Up
Print
Jump to: