【问题标题】:How to better optimize my find function?如何更好地优化我的查找功能?
【发布时间】:2016-12-03 20:13:03
【问题描述】:

我需要创建一个 find() 函数来搜索电影标题的 LinkedList,但我不能。也许我在我的代码中做错了什么......有人有任何指示吗?

@Override
public Movie find(String name) {
    if (name == null) {
        System.out.println("Not found");
    } else if (name != null) {
        System.out.println(name + " found!");
    }
    return movies.getFirst();
}

【问题讨论】:

  • 那么您到底在哪里进行搜索?
  • 如果这段代码可以工作,你应该问如何在Code Review上优化它。
  • 您的代码没有多大意义。如果您将 any 字符串(甚至为 null)传递给该函数,它将始终为您提供第一部电影。如果传入null,它会说“未找到”,然后无论如何都会给你一部电影。
  • 你需要迭代你的 LinkedList

标签: java linked-list binary-search-tree


【解决方案1】:

不确定 Movie 类的确切布局,但假设它是一个电影的链接列表,下面的代码会遍历列表,直到找到具有您正在搜索的标题的电影(如果没有这样的匹配则返回 null电影找到)。

Movie movie = movies.getFirst();
while (movie != null) {
  if (movie.getTitle().equals(name)) {
    return movie;
  }
  movie = movie.getNext();
}
return null;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2021-12-11
    • 1970-01-01
    相关资源
    最近更新 更多