Hirdetés
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- HP notebook topic
- Projektor topic
- iPad topik
- TCL LCD és LED TV-k
- Egyre inkább szoftverrel segítene a Core CPU-k teljesítményén az Intel
- Milyen monitort vegyek?
- Hardverfogócska a kertben
- Házimozi belépő szinten
- Rendkívül ütőképesnek tűnik az újragondolt Apple tv
Ú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?:))
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Packeta
- HP notebook topic
- Gyúrósok ide!
- Projektor topic
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Honor Magic5 Pro - kamerák bűvöletében
- iPad topik
- Graphics: Telefonvásárlási kálváriám....avagy clickbait cím: Horror a hardveraprón
- További aktív témák...
- Erying ITX 12800H alaplap (Integrált 14 magos i7 CPU, 3x NVMe) Hiánytalan tartozékokkal
- MacBook Pro 13.3 2017 8GB ram 512GB SSD
- UGREEN NASync DXP6800 Pro NAS, i5 1235u (10-mag), 8/32GB DDR5, 6 lemezhely, 2x10G, 2x Thunderbolt 4
- Z840 - 2x E52697 v4 18 core 2.3GHz - 1000w tap - 32 GB DDR4 - 3 év garanciával
- Lenovo T470s 14" FHD, i5 6300U, 8GB RAM, 256GB SSD, 2db akku, számla, 6 hó gar
- iPad felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
- GYÖNYÖRŰ iPhone 12 mini 256GB Black-1 ÉV GARANCIA -Kártyafüggetlen, MS3626, 100% Akkumulátor
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB DDR5 RAM RX 9070 16GB GAMER PC termékbeszámítással
- Eredeti Microsoft Windows 10 / 11 Pro OEM licenc Akciós áron! 64/32 bit Azonnali kézbesítéssel
- Samsung Galaxy S20 Ultra / 12/128GB / Kártyafüggetlen / 12Hó Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

