Как заменить пустые элементы в 2D java arraylist? - PullRequest
0 голосов
/ 17 января 2020

Я собираюсь заменить пустые элементы в ArrayList значениями начальных / конечных элементов, если они аналогичны, или NA. Программа возвращает false на начальном этапе выполнения, поэтому я не могу приступить к ее реализации. Что я делаю неправильно? Пожалуйста, предложите подходящий подход для меня, спасибо

            File file=new File("file1.csv");
            Scanner inputStream;
            List<String> header = null; //Store the header in a separate list
            List<List<String>> lines = new ArrayList<>();
            try{
                inputStream = new Scanner(file);

                while(inputStream.hasNext()){
                    String line= inputStream.next();
                    String[] values = line.split(",");
                    if (header == null){
                        header= Arrays.asList(values);
                        continue;//go to the next line as header is read
                    }
                    // Adds the currently parsed line 
                    lines.add(Arrays.asList(values));
                }
                inputStream.close();
            }catch (FileNotFoundException e) {
                e.printStackTrace();
            }
             //fails; outputs "false"
               System.out.println(lines.removeAll(Arrays.asList(Arrays.asList(" "))));

              //test on 1D arraylist- successful
              List<String> colors = new ArrayList<>(Arrays.asList("R", " ", "G", " ", "B"));
              colors.removeAll(Arrays.asList(" "));
              System.out.println(colors);   
// OTHER part of program ..., file2 is expected results   

file1

ID  577 592 598 600 612 650 700 822 825 830 840 870
Line0   A           A                   A           A
Line1   B           B                   NA          B
Line2   B           A                   A           A


file2

ID  577 592 598 600 612 650 700 822 825 830 840 870
Line0   A   A   A   A   A   A   A   A   A   A   A   A
Line1   B   B   B   B   NA  NA  NA  NA  NA  NA  NA  B
Line2   B   NA  NA  A   A   A   A   A   A   A   A   A


1 Ответ

0 голосов
/ 17 января 2020

Возможно, строка String[] values = line.split(","); неверна, я не вижу , во входном файле

...