Как сохранить последний элемент в ArrayList в другой ArrayList (Java)

Tom Wilson спросил: 07 октября 2018 в 01:34 в: java

У меня есть текстовый файл с надписью

NFR1: (some text) 
NFR2: (some text)
NFR3: (some text)

Я хотел сгруппировать все строки в текстовый файл с шаблоном"N".

Это код, который у меня есть:

import java.util.List;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class Main {public static void main(String[] args) throws FileNotFoundException {
    List<String> result = new ArrayList<String>();
    Pattern patt = Pattern.compile("^N.*");
    BufferedReader r = new BufferedReader(new FileReader("fileName"));    String line;
    try {
        while ((line = r.readLine()) != null) {
          Matcher m = patt.matcher(line);
          while (m.find()) {            int start = m.start(0);
            int end = m.end(0);
            result.add(m.group());
            System.out.println(result);
          }
        }
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }}
}

Вывод выглядит следующим образом:

[NFR1:]
[NFR1:,NFR2:]
[NFR1:,NFR2:,NFR3]

Как мне получить массив для чтения просто

[NFR1:,NFR2:,NFR3]

без двух других элементов выше?

Когда я добавлю строку кода, чтобы получить последний элемент:

if (result != null && !result.isEmpty()) {
              System.out.println("Last element is:");
              System.out.println(result.get(result.size()-1));
             }

Вывод:

The last element is:
NFR1:
The last element is:
NFR2:
The last element is:
NFR3:

Что я делаю не так?


0 ответов