From d7f4d30cc3199fe396e9942fe5beb8be8cb3953d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=BE=D0=BB=D0=BE=D0=B4=D0=B8=D0=BD=20=D0=93=D0=B5?= =?UTF-8?q?=D1=80=D0=BC=D0=B0=D0=BD?= Date: Wed, 2 Sep 2026 13:08:32 +0400 Subject: [PATCH] refactor(creation): use stream for file collection creation --- .../ui/creation/file/FileFillStrategy.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/ru/project/ui/creation/file/FileFillStrategy.java b/app/src/main/java/ru/project/ui/creation/file/FileFillStrategy.java index 85cca03..aa5feb5 100644 --- a/app/src/main/java/ru/project/ui/creation/file/FileFillStrategy.java +++ b/app/src/main/java/ru/project/ui/creation/file/FileFillStrategy.java @@ -2,8 +2,11 @@ package ru.project.ui.creation.file; import java.io.IOException; import java.nio.file.Path; -import ru.project.collection.MyLinkedList; +import java.util.Spliterator; +import java.util.Spliterators; +import java.util.stream.StreamSupport; import ru.project.collection.MyList; +import ru.project.collectors.MyCollectors; import ru.project.io.StudentCsvReader; import ru.project.student.Student; import ru.project.ui.creation.FillStrategy; @@ -18,20 +21,16 @@ public class FileFillStrategy implements FillStrategy { @Override public MyList create() { - MyList collection = new MyLinkedList<>(); - Path path = Path.of(settings.getAbsoluteFilePath()); try (StudentCsvReader reader = new StudentCsvReader(path)) { - while (reader.hasNext()) { - collection.add(reader.next()); - } + return StreamSupport.stream( + Spliterators.spliteratorUnknownSize(reader, Spliterator.ORDERED), false) + .collect(MyCollectors.toMyList()); } catch (IOException e) { throw new RuntimeException("Не удалось прочитать коллекцию из файла.", e); } - - return collection; } }