Originariamente inviato da luigipolla
Solo che io non ho capito come ha fatto queste due classi qualcuno sarebbe così gentile da spiegarmele, grazie!
Nodo è una classe che "modella" l'insieme di informazione (String) e puntamento al Nodo successivo. Per come è scritta è un banale "bean".

ListaSemplice invece è la implementazione di una lista linkata che ha come unica informazione il riferimento al nodo "head" della lista (tutti gli altri nodi sono incatenati uno dietro l'altro).

La classe è un po' lunga e non l'ho analizzata tutta, prendi per esempio addHead se vuoi capire come interpretare le cose: aggiunge un nodo in testa. Se lo aggiunge in testa vuol dire che il nuovo nodo diventa la testa e quello che era prima in testa lo si incatena dietro il nuovo.
Infatti fa: Nodo newNodo=new Nodo(info, testa);
La testa è "puntata" dal next del nuovo nodo.
E: testa=newNodo;
il nuovo nodo diventa la nuova testa.

Se capisci questi passaggi non dovrebbe esserti difficile comprendere il tutto.

Originariamente inviato da luigipolla
Il prof ci ha dato la risoluzione delle classi lista e nodo:
Ecco ... questo mi preoccupa/turba. Non è affatto corretta al 100% per essere fatta da un prof.

Mi è "caduto" l'occhio sul size(). È sbagliato!! Quando la lista è nuova (testa è ancora null) se invochi size() si "schianta" con un bel NullPointerException. E se ci sono dei nodi ne conteggia uno in meno.