Предполагается, что у вас есть следующие CSV-файлы:
id,name,description
1,Foo,FooBar
2,Bar,BarFo
3,Hey,Ho
и второй:
id,year
2,1990
1,1923
Тогда у вас могут быть следующие структуры (сейчас я пропускаю конструкторы и методы):
public class Item {
public String name;
public String description;
}
и второй:
public class Date {
public final int year;
}
Тогда у вас может быть третий:
public class Joined {
public final Item item;
public final Date date;
}
И тогда у вас может быть Map<Integer,Joined>
, и вы можете прочитать первый CSV и создать Joined
объекты с заполненной только частью Item
, затем прочитать второй CSV и вы можете заполнить Date
часть объекта Joined
.
В этой части соединения вы можете решить, какой тип соединения вы хотите реализовать.
Если у вас другой ключ, вам придется изменить ключ Map
, или вам может потребоваться создать новый класс, если у вас есть сложный ключ.