【发布时间】:2012-02-28 12:25:59
【问题描述】:
我是 Java 的相对新手,正在为我的编程课程构建一个应用程序,用户可以在其中输入、删除、搜索或编辑学生列表(一个由整数 ID 号、字符串姓氏组成的对象,和双倍GPA)。到目前为止,我已经成功地允许用户输入、删除或编辑条目。现在,100 多名学生的列表在一个 ArrayList 中(每个学生都是一个带有三个参数的学生对象)。
我的问题是我不知道一种有效的方法来允许用户根据 ID 号、姓氏或 GPA(以及将来可能的 GPA 范围)搜索特定学生。我一直在研究 Big-O 表示法并想使用二分搜索,因为如果学生列表继续增长,这将是一个很好的实践,也是一个更好的选择。到目前为止,对于二分搜索,我们正在使用带有 while 循环的 high/low/mid 方法(如果这表明我当前的技能水平)。
所以这是我的问题:
根据此条件搜索特定学生的有效方法是什么?我不是在寻找代码或解决我的困境的答案。我真的在寻找 Java 程序员用来做这种事情的技术或技巧的名称,特别是如果这些技术可以与其他面向对象的编程语言一起使用。
【问题讨论】:
-
您是根据完全匹配还是类似匹配(即:'Gar' 匹配 'Garcia')进行搜索?
-
最好是准确地搜索名称(忽略大小写)。对 ID 号的搜索必须准确。对于 GPA,我希望它返回所有适用的内容,但前提是它对我的技能水平来说并不过分复杂。
标签: java search object arraylist binary-search