像Java中的select一样实现SQL

一般来说,我想知道如何在较低级别实现SQL select,它看起来像

他们使用的算法接近于O(1)…..在Java中你只能通过使用来实现

哈希图,我徘徊他们是如何做到的

例:

如果我有一组学生和一组班级,为了选择任何一个学生属于哪个班级

或者任何班级拥有哪一组学生,我会设计一个关系数据库,其中3个表:

学生表,班级表,关系表

这应该代表一个很好的多对多关系

但是,如果我不想使用SQL,JDBC,则创建和设计表

我怎样才能在纯java中实现它

我想要的东西

List<Student> getStudentsByClass(String className) 

要么

 List<Class> getClassesByStudent(String StudentName)

理想情况下,我将使用一个hashMap,使用唯一的studentID作为键,将实际的studentObject作为值
另一个hasMap将classID作为键,将classObject作为值

然后关系ArrayList保存所有关系对象,在关系对象内有2个文件,classID和studentID

问题是我每次进行搜索时都不想遍历关系ArrayList

我知道在对象上有一个比较方法,我可以覆盖它只能帮助你对对象进行排序
选择不是没有多大帮助?

有一个链接,我了解一切,但不是选择位,任何一个提示请!

http://www.javaworld.com/javaworld/jw-11-2004/jw-1122-select.html?page=3

最佳答案 您可以遍历“表”并检查每个项目是否符合指定的条件.这将与O(n)复杂性一起使用.如果要使程序更快,请使用Map(例如HashMap或TreeMap)(O(1))或/和排序数据创建索引类型并使用二进制搜索(log(n)).

点赞