Salve ragazzi, riposto con la speranza di aver fatto bene e che qualcuno mi aiuti.
venendo a noi, posto ciò che mi viene chiesto

Nella soluzione, prediligere il maggior riutilizzo di codice e la maggiore protezione possibile.

Si chiede di leggere una sequenza di dati relativi ad esami, cognome e voto, dal file ES22.TXT e di
inserire i dati letti in una opportuna struttura dati in modo tale che la struttura sia ordinata sul campo
voto. Esempio di ingresso:
Rossi
18
Bianchi 31
Verdi
27
Armaroli 24
• Per la realizzazione della struttura dati si scelga il componente più adatto della JCF.
• Consultare le API.
Si realizzi un metodo main in una classe Prova che legga il file di testo, crei la struttura dati e infine ne
stampi il contenuto ordinato su un file di uscita (output.txt).

Avevo quindi pensato di risolverlo così
codice:
import java.io.*;
import java.util.*;

public class Prova{
	public static void main(String[] args){
		List l=new ArrayList();
		try{
			BufferedReader input=new BufferedReader(new FileReader("es22.txt"));
			String line=input.readLine();
			while(line!=null){
				l.add(line);
				line=input.readLine();
			}
		input.close();
		Collections.sort(l);
		PrintWriter out=new PrintWriter(new FileWriter("output.txt"));
		out.println(l);
		out.close();
		}
		catch(Exception e){
			System.out.println(e);
		}
	}
}
Il programma di per se funziona ma non fa ciò che viene richiesto, ovvero ordinare in base al voto e non in base al cognome.

Cosa mi suggerite voi?