 |
AppletTalk.com Java discussions newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Roberto Guest
|
Posted: Fri Nov 28, 2003 10:12 am Post subject: metodo x sort |
|
|
Ciao a tutti,ho creato questa classe,al suo interno mi servirebbe un metodo
che mi permetta di ordinare gli oggetti term contenuti nella lista in base
alla loro pot(in modo crescente).C'è qualche metodo già esistente in java
che lo fa?Se non esiste,qualche ANIMA PIA.,mi puo' dare una mano a
scriverlo?
Grazie
Eccovi la classe:
*/
import java.util.LinkedList;
import java.util.ListIterator;
import java.util.Collections; // contiene il metodo sort!
public class Polynomial
{
//Creazione della classe termine, al suo interno si trovano le variabili
potenza e coefficente
//tutte e due le variabili sono di tipo privato ,per accedervi ci sono i
metodi getPot() e getCoeff()
public class Termine
{
private int coefficente;
private int potenza;
public Termine(int coef,int pot)
{
coefficente=coef;
potenza=pot;
}
public int getCoeff()
{
return coefficente;
}
public int getPot()
{
return potenza;
}
}
LinkedList poly =new LinkedList();//Creo una lista
//Metodo di aggiunta termini nella lista x creare il polinomio
public void addTerm(int coefficente,int potenza)
{
Termine term;
term=new Termine(coefficente,potenza);
poly.add(term);
//poly.addLast();
}
|
|
| Back to top |
|
 |
Dimitri De Franciscis Guest
|
Posted: Fri Nov 28, 2003 10:57 am Post subject: Re: metodo x sort |
|
|
Roberto wrote:
| Quote: | Ciao a tutti,ho creato questa classe,al suo interno mi servirebbe un metodo
che mi permetta di ordinare gli oggetti term contenuti nella lista in base
alla loro pot(in modo crescente).C'è qualche metodo già esistente in java
che lo fa?Se non esiste,qualche ANIMA PIA.,mi puo' dare una mano a
scriverlo?
Grazie
Eccovi la classe:
*/
import java.util.LinkedList;
import java.util.ListIterator;
import java.util.Collections; // contiene il metodo sort!
public class Polynomial
{
//Creazione della classe termine, al suo interno si trovano le variabili
potenza e coefficente
//tutte e due le variabili sono di tipo privato ,per accedervi ci sono i
metodi getPot() e getCoeff()
public class Termine
{
private int coefficente;
private int potenza;
public Termine(int coef,int pot)
{
coefficente=coef;
potenza=pot;
}
public int getCoeff()
{
return coefficente;
}
public int getPot()
{
return potenza;
}
}
LinkedList poly =new LinkedList();//Creo una lista
//Metodo di aggiunta termini nella lista x creare il polinomio
public void addTerm(int coefficente,int potenza)
{
Termine term;
term=new Termine(coefficente,potenza);
poly.add(term);
//poly.addLast();
}
|
Devi fare implementare l'interfaccia "Comparable" alla tua Polynomial:
public class Polynomial implements Comparable {
.....
.....
public int compareTo(Object o) {
Polynomial p = (Polynomial) o;
// .... eccetera eccetera
}
E poi utilizzare java.util.Collections :
Collections.sort(poly)
Leggiti i Javadoc e decidi tu che tipo di ordinamento vuoi. Ad esempio
devi decidere cosa fare se l'oggetto "o" è null, se è di un'altra
classe, etc.. . Devi restituire
-1 : se "this" è minore
0 : se sono uguali
1 : se "this" è maggiore
Vedila un po' come una bilancia, con a sinistra il tuo oggetto e a
destra l'oggetto comparato. Buon ordinamento...
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|