Er der nogen mulighed for at holde den løbende sorteret eller skal man selv sørge for sorteringen før man tilføjer objekter til listen? ville gerne sortere objekterne efter deres toString output da det jo der det som listen viser når man tilføjer et objekt.
Jeg synes det virker lidt tørt at smide det over i et array først, sortere det, og smide det tilbage til listen hver gang jeg tilføjer et nyt element. Så det er derfor jeg gerne vil høre om der er andre mere hensigtsmæssige løsninger, denne beskrevne løsning kunne godt gå hen og blive lidt irriterende med mange elementer.
Jeg tror den generelle metode er at sortere elementerne inden du propper dem ind i listen. Det er jo blot en visning af en ArrayList eller en Vector, så det er jo essentielt den bagvedliggende datastruktur du skal sortere.
men hvor i SortedListModel ligger sorteringen, kan ikke umiddelbart overskue det, ville måske hellere extende defaultlistmodel med nogle sorteringsmetoder da jeg allerede har brugt defaultlistmodel's metoder og typer ret mange steder i mit program.
public SortedListModel() { model = new TreeSet(); }
Hvis du kigger i API'en, så er TreeSet beskrevet: /** * Constructs a new, empty set, sorted according to the elements' natural * order. All elements inserted into the set must implement the * <tt>Comparable</tt> interface. Furthermore, all such elements must be * <i>mutually comparable</i>: <tt>e1.compareTo(e2)</tt> must not throw a * <tt>ClassCastException</tt> for any elements <tt>e1</tt> and * <tt>e2</tt> in the set. If the user attempts to add an element to the * set that violates this constraint (for example, the user attempts to * add a string element to a set whose elements are integers), the * <tt>add(Object)</tt> call will throw a <tt>ClassCastException</tt>. * * @see Comparable */
ser lige om jeg kan finde ud af at tilføje den funktionalitet til defaultlistmodel og vender tilbage
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.