一般来说,我想知道如何在较低级别实现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)).