Hirdetés
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Elegánsan vizezné be a munkaállomásokat az Artic
- Először beszélt bővebben az új Xbox konzolról a Microsoft
- Párduc a gépben: teszten az ASUS ExpertBook Ultra
- Fejhallgató erősítő és DAC topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- AMD GPU-k jövője - amit tudni vélünk
- Befutott a régóta várt, sok P-maggal kitömött, LGA1700-as Core sorozat
- Azonnali alaplapos kérdések órája
- TCL LCD és LED TV-k
Új hozzászólás Aktív témák
-
Csaby25
őstag
Sziasztok!
A következő metódus csv file-ból olvas ki sorokat és objektummá alakítom (minden sor egy objektum):private static void readData(File inputFile, Class type) {try {BufferedReader reader = new BufferedReader(new FileReader(inputFile));String line;// Reading first line..while ((line = reader.readLine()) != null) {String[] values = line.split(COMMA_DELIMITER);if (type == Student.class) {Student student = populateStudent(values);if (students == null) {students = new HashMap<Integer, Student>();}students.put(student.getStudentId(), student);}if (type == Subject.class) {Mark mark = populateMark(values);Subject subject = populateSubject(values);if (subject.getMarks() == null) {subject.setMarks(new ArrayList<Mark>());}students.get(mark.getStudentId()).getSubjects().put(subject.getSubjectId(), subject);students.get(mark.getStudentId()).getSubjects().get(subject.getSubjectId()).getMarks().add(mark);}}reader.close();} catch (Exception e) {e.printStackTrace();}}Ez szeretném megoldani Stream-el:
private static void readData(Path inputFile, Class type) {Student student;Subject subject;Mark mark;try {Stream<String> lines = Files.lines(inputFile);List<List<String>> values = lines.map(line -> Arrays.asList(line.split(COMMA_DELIMITER))).collect(Collectors.toList());if (type == Student.class) {values.forEach(value -> student = populateStudent(value));if (students == null) {students = new HashMap<Integer, Student>();}students.put(student.getStudentId(), student);}if (type == Subject.class) {values.forEach(value -> mark = populateMark(value));if (subject.getMarks() == null) {subject.setMarks(new ArrayList<Mark>());}students.get(mark.getStudentId()).getSubjects().put(subject.getSubjectId(), subject);students.get(mark.getStudentId()).getSubjects().get(subject.getSubjectId()).getMarks().add(mark);}//}} catch (Exception e) {e.printStackTrace();}}A forEach-ben (
value -> student = populateStudent(value)) ezt a hibát kapom: ''Local variable student defined in an enclosing scope must be final or effectively final'Tudja valaki, hogy lehet ezt megoldani?
Köszi!
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- exHWSW - Értünk mindenhez IS
- Milyen okostelefont vegyek?
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- MWC 2026: Újból érik a szeder az Unihertz kertjében
- Elegánsan vizezné be a munkaállomásokat az Artic
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- Nem lesz Redmi Note 16, évet ugrik a sorozat
- Motorola Edge 50 Ultra - szépen kifaragták
- További aktív témák...
- LG 45GR65DC-B 45 / 5120x1440 / 200HZ / VA /
- Chieftec Smart Seriels GPS-500A8 80 Plus minősítésű 500W tápegység
- Apple iPhone 13 - 85% Akku - 128GB - Független - Hibátlan
- HONOR Magic8 Lite 5G 512GB + CHOICE Cubuds - Gyári Bontatlan, 2028-ig garanciális
- HONOR Magic8 Pro 5G 12/512GB (Black) - Új, Kártyafüggetlen, 2029-ig garanciális
- ÚJ/BONTATLAN Microsoft Surface Laptop 7 X Elite 16GB 512GB
- REFURBISHED - DELL Thunderbolt Dock WD19TB (210-ARJD), WD19TBS (210-AZBV)
- Akko M1 fekete-szürke keycap szett
- Honor 200 Lite / 8/256GB / Kártyafüggetlen / 12Hó Garancia
- Dell Precision 5530 15,6" UHD touch, i7 8850H, 16GB RAM, 4GB VGA, 512GB SSD, jó akku, számla, gar
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

