我必须做一个PhoneBook课程。除了两种方法,我做了很多。我需要一些帮助来解决这些问题。 1.存在PhoneEntry类。 = 一个。编写一个存储PhoneEntry对象的PhoneBook类。添加以下方法。 III。 addInOrder(PhoneEntry a)这是插入排序 v.lookup(String name) - 返回与name关联的电话号码。使用二进制搜索
我不知道如何做到这两点。我有一些addInOrder完成但没有查找。这就是我到目前为止所做的:
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) {
}
答案 0 :(得分:0)
addInOrder
只需在条目末尾添加,然后排序性能是否相关或您的元素很少(您可以使用Collections.sort
轻松排序)。更快的方法是保持条目从头开始排序,以便更快地找到添加位置。
lookup
迭代所有条目,检查每个名称并返回电话,如果相等。更快的方法是保留一个Map,其中键是名称。