如何在没有数据库的情况下在java中执行连接

时间:2012-02-06 06:48:12

标签: java collections

我需要在不使用数据库的情况下对2个表(我从2个CSV文件中读取)执行连接。我不知道集合(List,ArrayList)。如果任何人都可以在任何一种有用的联接类型上提供一小段示例代码。

1 个答案:

答案 0 :(得分:0)

假设您有以下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的密钥,否则如果您有复杂的密钥,则可能需要创建新的密钥。