как выполнять объединения в Java без базы данных - PullRequest
0 голосов
/ 06 февраля 2012

Мне нужно выполнить объединения на 2 таблицы (которые я прочитал из 2 CSV-файлов) без использования базы данных.Понятия не имею о коллекциях (List, ArrayList).Если кто-то может дать подробный пример кода для любого типа объединения, это будет полезно.

1 Ответ

0 голосов
/ 06 февраля 2012

Предполагается, что у вас есть следующие 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, или вам может потребоваться создать новый класс, если у вас есть сложный ключ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...