gpt4 book ai didi

java - 像 Java 中的 select 一样实现 SQL

转载 作者:搜寻专家 更新时间:2023-11-01 03:28:01 24 4
gpt4 key购买 nike

总的来说我想知道sql select在底层是怎么实现的,看起来像

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

HashMap ,我想知道他们是怎么做到的

示例:

如果我有一组学生和一组类(class),为了选择任何学生属于哪个类(class)

或者任何类(class)有哪一组学生,我会设计一个关系数据库,这3张表:

学生表、类(class)表、关系表

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

但是,如果我不想使用 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))创建索引。

关于java - 像 Java 中的 select 一样实现 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8245762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com