Я просматривал следующий вопрос , но я все еще немного сбит с толку.Как я могу перебирать файлы, перебирать содержимое каждого файла, добавляя только отдельные значения из ВСЕХ файлов в один Список? Должен ли я использовать набор?
getSourceFiles
возвращает LinkedHashMap из путей, которые я затем преобразовываю в объекты File
public static void main(String[] args) throws IOException {
mapSwift = getSourceFiles(PATH_SWIFT, swiftFileName);
linkedHashSet = new LinkedHashSet();
mapSwift.forEach((k,v)-> {
File fileName = new File(v.toString());
try (Stream<String> stream = Files.lines(Paths.get(String.valueOf(fileName)))) {
list = stream
.filter(line -> line.startsWith(":97A::SAFE//"))
.map(String::toUpperCase)
.distinct()
.collect(Collectors.toList());
} catch (IOException e) {
e.printStackTrace();
}
linkedHashSet.add(list);
});
System.out.println("Done");
}
//public static LinkedHashMap<?, ?> getSourceFiles(Path dir, String strFilename)
Ожидаемый результат
File A | File B | File C
Oranges Apples Bananas
Apples Apples Oranges
Я бы хотел, чтобы в полученном массиве или наборе были только уникальные значения из ВСЕХ файлов.В приведенном выше примере конечная структура данных будет содержать только 3 элемента: Oranges, Apples, Bananas