Sortowanie elementów przy dodawaniu do listy

0
 
cwiczenie = new Cwiczenia(poleNazwaCwiczenia.getText(),textAreaOpisCwiczenia.getText(),(new ImageIcon(skalowanie)));
ramka.getcwiczeniaMapa().put(poleNazwaCwiczenia.getText(), cwiczenie);	
???????????????????????????	 
listaWyboruCwiczenZmienna.addElement(poleNazwaCwiczenia.getText());	

Proszę o pomoc w znalezieniu najlepszego rozwiązania które bedzie sprawdzać tworzone elementy i dodawać alfabetycznie do listaWyboruCwiczenZmienna.

0
1. Dodaj
2. Posortuj
0

Zamiast listy daj seta np. TreeSet, automatycznie będzie sortował np. Stringi(a chyba to przechowujesz).
Jeśli chcesz trzymać obiekty to napiszesz własny comparator.
Pamiętaj tylko, że w secie nie będziesz miał dwóch identycznych elementów.

0

Stwórz pustą listą, przed dodaniem elementu sprawdź metodą binarySearch gdzie trzeba wstawić. Wstawiaj metodą add(gdzie,co).

0

@davyd to nie powinno być:

import java.text.Collator;
import java.util.*;

public class Main {
    public static void main(String[] args) {
        SortedSet<String> cwiczeniaDoWyboru = new TreeSet<>(Collator.getInstance());

        cwiczeniaDoWyboru.add("Polski");
        cwiczeniaDoWyboru.add("Matematyka");
        cwiczeniaDoWyboru.add("Biologia");

        System.out.println(cwiczeniaDoWyboru);
    }
}

?

poza tym jest coś złego w List i Collections.sort ?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.