【发布时间】:2014-02-28 05:22:38
【问题描述】:
我正在创建一个程序,允许用户输入要搜索的联系人姓名。如果找到联系人,则显示联系人的其他信息(电话号码和电子邮件)。
我的 ArrayList 看起来像这样:
ArrayList<Contact> contacts = new ArrayList<Contact>();
contacts.add(new Contact("Patrick McGee", "334-555-8860", "pmcgee123@gmail.com"));
contacts.add(new Contact("John Appleseed", "142-555-6740", "jappleseed99@gmail.com"));
contacts.add(new Contact("Matt Jordan", "213-555-2323", "mjordan23@gmail.com"));
contacts.add(new Contact("Kanye East", "255-434-9909", "keast123@gmail.com"));
contacts.add(new Contact("Derrick Flower", "144-555-1111", "dflower1@gmail.com"));
我有变量:字符串名称、字符串编号和字符串电子邮件。
同样,要求用户输入名称(arraylist 的第一个字符串)。
如果找到姓名,则将打印联系人(包含所有信息)。我曾尝试在 Collections 中使用 BinarySearch,但这给了我非常混乱的错误。如果需要更多信息,请随时询问。
有没有这样的搜索方法?谢谢。
【问题讨论】:
-
你是否覆盖了 Contact 类中的 equals 和 hascode 方法?它是否实现了可比较或比较器接口??
-
我尝试使用工具比较器,但出现很多错误。你能告诉我在这种情况下如何使用比较器的例子吗?