- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- OLED TV topic
- Őszköszöntő hardverkeverék
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Mégis mi értelme az Xbox PC-nek, ha limitálja a hardverválasztékot?
- Apple MacBook
- Soundbar, soundplate, hangprojektor
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Milyen széket vegyek?
- HDD probléma (nem adatmentés)
Ú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?:))
- Opel topik
- Airsoft
- Mobilinternet
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Trollok komolyan
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Formula-1 humoros
- Kamionok, fuvarozás, logisztika topik
- OLED TV topic
- Őszköszöntő hardverkeverék
- További aktív témák...
- Predator Helios Neo 16 PHN16-71 16" QHD+ IPS i9-13900HX RTX 4060 16GB 1TB magyar vbill gar
- Bivaly Gamer - MSI Z890 CARBON WIFI + Intel Ultra 9 285K + Patriot Venom 2x16GB DDR5 7000MHz CL32
- Asus ROG MAXIMUS Z690 EXTREME Alaplap!
- Új, Gamer félgép - GIGABYTE B760M DS3H DDR4 + Intel I5 14400F + Corsair 2x16GB DDR4 3200MHz CL16
- Új, Gamer félgép - GIGABYTE B760M DS3H DDR4 + Intel I5 13400F + Corsair 2x16GB DDR4 3200MHz CL16
- HP EliteBook 830 G8 i5-1135G7 16GB 512GB 1 év garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- GYÖNYÖRŰ iPhone SE 2022 64GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3366
- REFURBISHED és ÚJ - HP USB-C Dock G5 docking station (5TW10AA) - 3x4K felbontás, 144Hz képfrissítés
- Igényes Gamer PC - Ryzen 5 9600X - 32GB DDR5 - 512GB SSD - Asus TUF RTX 3070 Ti - Vízhűtés - 850 táp
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest