Java 如何创建搜索方法来搜索与所有其他条目名称完全匹配的名称
我不知道我问的问题是否对你清楚。因此,我试图创建一个方法,让我在电话簿类中搜索姓名,并找到所有同名的条目 //这是我在电话簿课上的方法Java 如何创建搜索方法来搜索与所有其他条目名称完全匹配的名称,java,Java,我不知道我问的问题是否对你清楚。因此,我试图创建一个方法,让我在电话簿类中搜索姓名,并找到所有同名的条目 //这是我在电话簿课上的方法 public String searchEntry(Entry e) { if (entrylist.contains(e)) { return e.getSurname(); } return null; } 然而,这种方法所采用的是允许搜索条目并查找其分机号 在我的entry类中,有三个参数传入构造函数 publ
public String searchEntry(Entry e) {
if (entrylist.contains(e)) {
return e.getSurname();
}
return null;
}
然而,这种方法所采用的是允许搜索条目并查找其分机号
在我的entry类中,有三个参数传入构造函数
public Entry(String surname, String initials, String extension) {
this.setSurname(surname);
this.setInitials(initials);
this.setExtension(extension);
}
ListDirectory ls = new ListDirectory();
Entry e = new Entry("james", "K", "9023");
ls.addEntry(e);
System.out.println(ls.searchEntry(e));;
//this prints out james
我不知道如何查找保存在电话簿类中的姓名 我不确定我是否理解正确,但这个问题: 制作一个方法,让我在电话簿类中搜索姓名,并找到所有同名的条目 建议您查找多个条目(如果存在) 考虑创建一个方法,该方法返回条目项的集合,例如
列表
,并让列表(可能是数组列表
)保存集合中具有匹配名称(仅姓氏?)的所有条目项
因此,方法签名可以如下所示:
public List<Entry> findAllMatches(String name) {
List<Entry> entryList = new ArrayList<Entry>();
// loop through entire collection, filling entryList
return entryList; // this could be empty if no matches are found
}
public List findAllMatches(字符串名称){
List entryList=new ArrayList();
//循环遍历整个集合,填充entryList
return entryList;//如果找不到匹配项,则可能为空
}
如果我误解了您的问题,请澄清。如果您想在列表中搜索子字符串或条件,您必须(除非您有更好的数据结构)查看每个条目并检查其是否匹配:
public Entry searchSubstring(String search) {
for (Entry e : entrylist) {
if (contains(e.getSurname(), search) || contains(e.getExtention(), search) || .. )
{
return e;
}
}
return null; // nothing found
}
boolean contains(String haystack, String needle) {
if (haystack == null)
return false;
return haystack.contains(needle);
}
除了返回e,您还可以执行
result.添加(e)
并返回匹配项列表。谢谢。我使用数组来存储所有内容。所以我会调查的。再次感谢你