Arraylist<short[]> to short[][]

Odpowiedz Nowy wątek
2011-07-26 21:09
rsa_cośtam
0

Mam plik tekstowy postaci:
12 321 75 87 4 -1 -43 1
2 31 75 87 4 -1 -43 1
1 32 75 87 4 1 -23 7
12 21 75 7 64 -1 -13 1
Każdy wiersz składa się z tej samej ilości serii danych oddzielonych tabulatorem, ale liczba tych serii może być różna.
Liczba wierszy też może być różna.

Wczytałem to następująco:

 
protected static ArrayList<Short[]> values=new ArrayList<Short[]>();
 
private static void wczytaj(){
String format, name, date, str;
String[] tmp;
Short[] tmp2;
List<String> list=new ArrayList<String>();
try{
 BufferedReader br = new BufferedReader(new FileReader(jfc.getSelectedFile()));
            while((str =br.readLine())!=null){
                if(!str.equals("")){
                    list.add(str);
                    if(str.matches("^[0-9].*$")){
                        tmp=str.split("\t");
                        tmp2=new Short[tmp.length-2];
                        for(int i=0;i<tmp2.length;i++){
                            tmp2[i]=new Double(tmp[i]).shortValue();//array out of bounds
                        }
                        values.add(tmp2);
                    }
              }
}catch(){}

Pobrane dane mam przetwarzać seriami(kolumnami), a w liście mam tablice wierszami.
W jaki sposób mam zamienić listę tablic na tablicę dwuwymiarową, żeby dało się wygodnie pracować na danych kolumnami?

Pozostało 580 znaków

2011-07-26 22:27
bo
0
    Short[][] matrix=new Short[list.size()][];
    matrix=list.toArray(matrix);

Pozostało 580 znaków

2011-07-28 10:56
rsa_cośtam
0

Wielkie dzięki.

Pozostało 580 znaków

2011-07-28 11:17
0

ATSD:
Można używać short[] zamiast Short[] bo tablice to obiekty, a nie prymitywy.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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