- Bemutatkozott a Poco X7 és X7 Pro
- Apple Watch
- Samsung Galaxy S23 Ultra - non plus ultra
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Android alkalmazások - szoftver kibeszélő topik
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
- Milyen hagyományos (nem okos-) telefont vegyek?
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Hivatalos a OnePlus 13 startdátuma
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
Ú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?:))
- PlayStation 5
- Sorozatok
- Bambu Lab 3D nyomtatók
- S.T.A.L.K.E.R - Lost Alpha
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen egeret válasszak?
- HiFi műszaki szemmel - sztereó hangrendszerek
- Leiskolázná a mezőnyt az új Samsung csúcs-SoC
- Bemutatkozott a Poco X7 és X7 Pro
- Apple Watch
- További aktív témák...
- Akció! Gamer PC-Számítógép! Beszámítás! X870 /R7 7800X3D / RX 9070XT / 32GB DDR5 / 2TB SSD
- Honor 200 Lite / 8/256GB / Kártyafüggetlen / 12HÓ Garancia
- HP ProDesk 600 G5 i3-9100 8GB 256GB 1 év garancia
- HIBÁTLAN iPhone 13 mini 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS4078
- Gamer PC-Számítógép! Csere-Beszámítás! R5 8600G / 6700XT 12GB / 16GB DDR5 / 512 SSD + 2TB HDD!
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


