Ordinamento Lista

di il
4 risposte

Ordinamento Lista

Con quale funzione si ordina una lista in java in base a un dato?
ho da svolgere un esercizio dove dato un colore per indicare la gravità di un paziente deve mettere in ordine prima i rossi, poi i gialli e infine i biachi.

4 Risposte

  • Re: Ordinamento Lista

    Boss273 ha scritto:


    Con quale funzione si ordina una lista in java in base a un dato?
    In Java l'ordinamento degli oggetti è stato affrontato tramite le interfacce Comparable e Comparator che sono concettualmente simili ma si applicano in modo differente. E poi dato un List (il List del framework, cioè java.util.List) lo si ordina con i sort() di java.util.Collections. E da Java 8, List stesso ha il sort con Comparator.

    Cerca sul forum.
  • Re: Ordinamento Lista

    Package ospedale;

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.io.*;
    import java.util.Comparator;

    /**
    *
    * @author Administrator
    */
    public class Ospedale{
    public static lista list= new lista();
    protected static paziente p;
    protected static Ospedale ps;
    protected static nodo n,head;
    public static BufferedReader k= new BufferedReader(new InputStreamReader(System.in));
    protected static void inserimentoPaziente() throws Exception{
    list.inserisciT(p);
    }
    protected void ordinamento(){
    boolean s;
    nodo p = head;
    do{
    p=head;
    s=false;
    while(p.getLink()!=null){
    if(p.getInfo().getUrgenza().compareToIgnoreCase(p.getLink().getInfo().getUrgenza())<0){
    p.scambio(p.getLink());
    s=true;
    }
    p=p.getLink();
    }
    }while(s);
    }
    public static void main(String[] args) throws Exception {
    int s=0;
    do{
    System.out.println("1-Inserire dati paziente");
    System.out.println("2-Visualizzare lista pazienti");
    System.out.println("3-Ordinare per gravita");
    System.out.println("4-Uscita");
    System.out.print("Scelta: ");
    try {
    s=Integer.parseInt(k.readLine());
    } catch (Exception e) {
    }
    switch(s){
    case 1:
    inserimentoPaziente();
    break;
    case 2:
    System.out.println(list.elenco());
    break;
    case 3:
    ps.ordinamento();
    System.out.println(list.elenco());
    break;
    }
    }while(s<4);
    }


    }






    public class nodo {
    private paziente info;
    private nodo link;

    public nodo() throws Exception {
    this.info = new paziente();
    this.link = null;
    }

    public paziente getInfo() {
    return info;
    }

    public void setInfo(paziente info) {
    this.info = info;
    }

    public nodo getLink() {
    return link;
    }

    public void setLink(nodo link) {
    this.link = link;
    }
    void scambio(nodo n){
    paziente p;
    p=n.getInfo();
    n.setInfo(this.getInfo());
    this.setInfo(p);
    }
    }

    questo qui è il codice però mi da errore su ps.ordinamento(), come posso risolverlo ?
  • Re: Ordinamento Lista

    Boss273 ha scritto:


    protected static nodo n,head;
    Se è una tua lista (linkata) fatta con nodi gestiti "fai-da-te", ovviamente quanto detto per java.util.List di per sé non si applica.

    Boss273 ha scritto:


    questo qui è il codice però mi da errore su ps.ordinamento(), come posso risolverlo ?
    ps è un campo static di tipo Ospedale. Ma non è inizializzato. Dove è che fai ps = new Ospedale()
    E comunque ci sono "troppi" campi static, il design generale non va bene.
  • Re: Ordinamento Lista

    F30 che stupido, non me ne ero accorto
Devi accedere o registrarti per scrivere nel forum
4 risposte