Enrik08
14-01-2011, 17:14
Salve forum, questo è un mio programma che crea una ArrayList con dentro deglio oggetti studente che contiene nome, cognome e matricola.
MAIN:
import java.util.*;
public class Main
{
public static void main(String[] args)
{
ArrayList<Studente> lista = new ArrayList<Studente>();
lista.add(new Studente("Matteo","Donato",111));
lista.add(new Studente("Federica","Bianchi",222));
lista.add(new Studente("Alberto","Rossi",333));
for (int i=0; i<lista.size(); i++)
{
Studente s = lista.get(i);
String std = s.getAll();
System.out.println(std);
}
System.out.print("\nORDINATO PER NOME\n");
Collections.sort(lista);
for (int i=0; i<lista.size(); i++)
{
Studente s = lista.get(i);
String std = s.getAll();
System.out.println(std);
}
}
}
CLASSE:
public class Studente implements Comparable<Studente>
{
private String name;
private String surname;
private int matricola;
public void Studente()
{
name = "";
surname = "";
matricola = 0;
}
public Studente(String n, String s, int m)
{
name = n;
surname = s;
matricola = m;
}
public String getName(){return name;}
public String getSurname(){return surname;}
public int matricola(){return matricola;}
public String getAll(){String s = name + " | "+surname+" | "+matricola;
return s;}
public int compareTo(Studente otherObject)
{
return name.compareTo(otherObject.getName());
}
}
Ora il programma ora crea l'ArrayList, lo riempe e lo ordina in base al nome, ma se successivamente lo voglio ordinare per cognome o matricola come posso fare?
Ringrazio in anticipo :)
MAIN:
import java.util.*;
public class Main
{
public static void main(String[] args)
{
ArrayList<Studente> lista = new ArrayList<Studente>();
lista.add(new Studente("Matteo","Donato",111));
lista.add(new Studente("Federica","Bianchi",222));
lista.add(new Studente("Alberto","Rossi",333));
for (int i=0; i<lista.size(); i++)
{
Studente s = lista.get(i);
String std = s.getAll();
System.out.println(std);
}
System.out.print("\nORDINATO PER NOME\n");
Collections.sort(lista);
for (int i=0; i<lista.size(); i++)
{
Studente s = lista.get(i);
String std = s.getAll();
System.out.println(std);
}
}
}
CLASSE:
public class Studente implements Comparable<Studente>
{
private String name;
private String surname;
private int matricola;
public void Studente()
{
name = "";
surname = "";
matricola = 0;
}
public Studente(String n, String s, int m)
{
name = n;
surname = s;
matricola = m;
}
public String getName(){return name;}
public String getSurname(){return surname;}
public int matricola(){return matricola;}
public String getAll(){String s = name + " | "+surname+" | "+matricola;
return s;}
public int compareTo(Studente otherObject)
{
return name.compareTo(otherObject.getName());
}
}
Ora il programma ora crea l'ArrayList, lo riempe e lo ordina in base al nome, ma se successivamente lo voglio ordinare per cognome o matricola come posso fare?
Ringrazio in anticipo :)