-2

我正在用Java制作一个程序,用户可以登录并将数据上传给程序中的某些人。但是,我想创建一个搜索栏,以便有人可以键入“Joe”,它会在文件中显示任何名称为“Joe”的人。注册的每个名称都将成为一个文件,因此“Joe Rico”将有一个名为“Joe Rico”的文件夹。如果这很重要,我计划将 AWT 用于 GUI 系统,如果这也很重要,这将是一个 Java 小程序。(文件系统将存储在网络服务器上,某些用户将具有某些权限)。谢谢您的帮助!

4

1 回答 1

0

这里有很多问题,你的问题很模糊——你可能会问以下任何一个问题:

  1. 如何制作搜索

    您在问如何在 AWT 中正确实现搜索框。首先,使用 Swing,它要好得多。从那里开始,如何使用文本字段等资源将非常有帮助。

  2. 如何制作搜索应用程序?

    您在问如何在 GUI 中实现搜索行为。在这种情况下,您需要了解的关键概念是Model View Controller,它可以让您以干净有效的方式将业务逻辑与图形界面区分开来。

  3. 如何有效地搜索数据?

    您正在寻找适合搜索的数据结构。经典答案是二叉搜索树或二叉搜索算法,例如Collections.binarySearch(),它允许您及时搜索O(log n)。对于您的用例来说,这可能不够,也可能不够,但另一个可能的选项是Trie,它提供快速前缀搜索。如果这些基本数据结构不足以满足您的用例,请继续阅读。

  4. 如何存储数据以进行高效搜索?

    很大程度上取决于您要做什么,但这个概念称为序列化。Java 本身就提供了序列化行为,但我个人更喜欢使用 JSON,而 Google 令人敬畏的Gson库使这变得非常轻松。

  5. 有哪些工具可以为我提供搜索行为?

    如果答案 #3 不够好,那么您正在寻找更强大的东西。根据您的需要,您有两个基本选择。要么是关系数据库,要么是搜索/索引库。那里有无数的数据库选项,但我喜欢H2用于快速 Java 工作。像Lucene这样合适的搜索工具几乎可以肯定地满足您的需求,但该选项存在。

我希望其中一些回答你的问题。将来,尝试提出可以有具体答案的问题。开放式问题以及未定义“已回答”概念的问题很难正确解决。

于 2013-11-08T21:14:55.410 回答