Jak odczytać macierz z pliku i zapisać ją do List<double []> ?

0

Hej,
potrzebuje odczytać macierze z pliku txt i zapisac je do List<double[]>. Macierze 5x6 i miedzy nimi jest odstęp jednej lini. Chodzi mi o to zeby kazda macierz przeksztalcic do jednej lini i tak dodac do tablicy jako wartosci double, pierwsza tablica to pierwsza macierz, i tak dalej. Wie ktoś jak to zrobic ?

Dane w pliku wygladaja tak:

1 0 0 0 0
1 0 1 1 0
1 0 1 1 1
1 0 0 0 0
1 0 1 1 0
1 0 0 0 0

1 1 1 1 1
1 0 0 0 1
1 1 0 1 1
1 1 0 1 1
1 1 0 1 1
1 1 1 1 1
3

@Piotr17: to będzie najprościej zrobić je za tak:

    public static void main(String[] args) throws IOException {
        List<String> lines = Files.lines(Paths.get("myFile.txt"))
                .map(String::trim)
                .collect(Collectors.toList());
        
        List<double[]> matrixList = convert(lines);
    }
    
    private static List<double[]> convert(final List<String> lines) {
        List<String> currentList = new ArrayList<>();
        List<double[]> result = new ArrayList<>();
        for (String line: lines) {
            if (line.isEmpty()) {
                result.add(mapToDouble(currentList));
                currentList.clear();
            } else {
                currentList.add(line);
            }
        }

        if (!currentList.isEmpty()) {
            result.add(mapToDouble(currentList));
        }
        
        return result;
    }
    
    private static double[] mapToDouble(final List<String> lines) {
        return lines.stream()
                .map(l -> l.split(" "))
                .flatMap(Stream::of)
                .mapToDouble(Double::valueOf)
                .toArray();
    }

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