首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何添加到数组列表中并使用二进制搜索进行查找?PhoneBook ArrayList类

如何添加到数组列表中并使用二进制搜索进行查找?PhoneBook ArrayList类
EN

Stack Overflow用户
提问于 2015-03-25 06:23:53
回答 1查看 85关注 0票数 0

我得上一堂PhoneBook课。除了两种方法之外,我已经完成了所有的方法。我需要一些关于如何做它们的帮助。1.存在PhoneEntry类。= a.编写一个存储PhoneEntry对象的PhoneBook类。添加以下方法。三、addInOrder(PhoneEntry a)这是插入排序v.lookup(字符串名称)-返回与姓名关联的电话号码。使用二进制搜索

这两个我都不知道该怎么做。我已经做了一些addInOrder,但没有查找。这就是我到目前为止所知道的:

代码语言:javascript
复制
public void addInOrder(PhoneEntry a) {
    for (int outer = 1; outer < book.size(); outer++) {
        int position = outer;
        String key = (a.get(position);
        // shift larger values to right
        while (position > 0 && a.get(position - 1).compareTo(key) > 0) {
            (a.get(position)).equals(a.get(position - 1));
            position--;
        }

        a.get(position).equals(key);
    }
}

public String lookUp(String name) {

}
EN

回答 1

Stack Overflow用户

发布于 2015-03-25 07:40:40

代码语言:javascript
复制
addInOrder

只需在条目的末尾添加,如果性能不相关或元素很少,则进行排序(您可以使用Collections.sort轻松进行排序)。一种更快的方法是保持条目从头开始排序,以便更快地找到要添加的位置。

代码语言:javascript
复制
lookup

遍历所有条目,检查每个名称,如果相等,则返回电话。一种更快的方法是保留一个Map,其中键是名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29244016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档