2017-02-23 37 views
0

我对编程相当陌生,只能编程四到六个月。用于实现DBMS(Java)的数组/列表

我想找到一种方法来建立在Java中的表,并有方法来连接两个不同的表,也许还有where子句(类似于SQL)。我意识到可能存在一些可以完成工作的库,但我想自己实现这一点。我希望能够支持字符串和int类型的列。

作为一个起点,我正在考虑将我的数据表示为行集合。我最初也在考虑创建一个列类,但是我希望如何加入它(类似于SQL),这看起来像是头痛而不必要的。

鉴于我只想使用列表/数组,行集合是一个好主意吗?另外,如果我做了像String [] []之类的东西并想要一个int列,我该如何解决这个问题?

感谢

+0

您应该不希望在您的Java代码中执行表连接。这就是你的数据库所适合的,这就是数据库被创建的原因。如果你需要在你的Java代码中表示一条记录,那么'Object []'是最简单的方法。同时,尽可能缩小你的问题范围。 –

+0

@TimBiegeleisen“这就是你的数据库适合的,这就是数据库被创建的原因。”这似乎是他想要创造的。 – marstran

+0

嗯,我想支持两个表的自然内部连接,因为列的唯一可能类型是string和int。我不是说字符串列可以保存整数,反之亦然,只是表可以有字符串列和int列。所以为了更好地提出我的问题,我怎样才能实现这只使用数组/列表? –

回答

0

我认为,决定是否使用ArrayList或对象[]将是至少您的问题。但是,如果我们假设每个表的列数不变,那么将内部行存储为Object[]并且当然包含提供实用方法的合理Row对象是有意义的。然后,由于可以插入和删除行,所以将它们内部存储为List<Row>是合理的,当然这些行都包含合理的Table对象。

+0

你的意思是在预加入中不变的列数?如果是的话,是的。尽管我想支持表Z1中的A和B列。表Z2中有A和C列。然后,表的笛卡尔乘积会返回一个表,其大小可能与A,B或C不同 –

+0

@JohnFang就像我说过的,决定使用哪些内部数据结构是你的问题中最少的。没有冒犯,但我认为你已经选择了一个项目,因为你目前的技术水平太难了。这里没有人会为你一步一步写出来。 –