[Java] Sortowanie Vector'a

0

Witam

Chciałbym posortować wektor tylko po pierwszym znaku ze Stringa, funkcja sort() niestety się nie sprawdza.

public Vector<String> dane = new Vector<String>();

//część pliku
1 4.6 3.4 1.4 0.3
2 7.0 3.2 4.7 1.4
1 5.0 3.4 1.5 0.2
2 6.4 3.2 4.5 1.5
1 4.4 2.9 1.4 0.2

public void SortowanieDanych(){
        Collections.sort(dane);
    }

Pozdrawiam

0

Do metody sort możesz podać Comparator, w którym porównujesz tylko pierwszy znak.

0

Witam

Właśnie czytam o Comparator'ach.
Witam na razie udalo mi sie taki prosty komparatorek napisac. Może nie jest najbardziej elegancki, ale działa.-)

import java.util.Comparator;
public class Komparator implements Comparator {
    String[] t1;
    String[] t2;
    Test myTest = new Test();
     public int compare(Object o1, Object o2) {
        if(o1 instanceof String && o2 instanceof String){
            //String s1 = (String)o1.toString().split(" ");
             //String s1 = (String)o1.toString().split(" ", 0);
            t1 = o1.toString().split(" ");
            t2 = o2.toString().split(" ");
            String f1 = t1[0];
            String f2 = t2[0];
            //System.out.println("f1: "+f1);
            //System.out.println("f2: "+f2);
            String s1 = (String)f1;
            //String s1 = (String)o1;
            String s2 = (String)f2;
                return s1.compareTo(s2);
            }
        return 0;
    }
}

Pozdrowienia

1 użytkowników online, w tym zalogowanych: 0, gości: 1