Citat:
Ursprungligen postat av Eaglecoth
Ja det verkar som en bra start, i specen behöver jag två konstruktorer, en som använder den naturliga ordningen, och en konstruktor till vilken man skickar med en komparator som argument, sök-metoden ska då använda den komparator man angivit, och skapar man objektet utan argument ska naturliga ordningen gälla, det lättaste är vär isf att själv definera en komparator som använder den naturliga ordningen, ifall man inte skickar med någon till konstruktorn, eller finns det kanske redan en fördefinerad sådan komparator?
/Eaglecoth
Ur java API:
public interface Comparable
This interface imposes a total ordering on the objects of each class that implements it. This ordering is referred to as the class's natural ordering, and the class's compareTo method is referred to as its natural comparison method.
Så om du vill ha den naturliga ordningen använder du equals som definieras i interfacet Comparable:
Kod:
class ElementReader<T implements Comparable>{
T[] elements;
Comparator comparator;
public ElementReader(Comparator comparator){
this.comparator=comparator;
}
public bool member(T inelement){
if(comparator==null){
//Use natural ordering
for(T e : elements){
if(e.equals(inelement))
return true;
}
} else{
//Use defined comparator
...
}
return false;
}
....
}
Du använder väl API dokumentationen?
http://java.sun.com/j2se/1.4.2/docs/api