0
我正在開發一種搜索算法。其中我們有一個學生對象的ArrayList。我們必須從ArrayList中搜索學生。學生班的屬性是姓名,城市,國家和電話號碼。搜索應該起作用,如果我們輸入姓名,城市,國家或號碼,我們應該得到與搜索匹配的學生對象列表。 soppose,如果我們在搜索中鍵入「john」,那麼我們應該得到名稱爲john的學生對象列表。如果搜索查詢有多個單詞(如「約翰巴西」),那麼我們應該得到名稱爲約翰和國家的所有學生對象的列表是巴西。我沒有得到正確的輸出,在列表中,我得到了名稱爲john的所有對象以及該國爲巴西的所有對象。獲取(名稱||國家),但我需要(名稱& &國家)。任何幫助將不勝感激。提前致謝。使用多詞搜索鍵搜索存儲在arraylist中的對象
的代碼如下:
public Class Student {
private String first_name;
private String last_name;
private String city;
private String country;
private int phone_number;
}
public ArrayList<Student> searchMethod() {
ArrayList<Student> initial_result_list= new ArrayList<Student>;
for (Student student : student_list) {
for (String search : array_of_search_words) {
if((null!=student.getName() && student.getName().contains(search))
|| (null!=student.getCity() && student.getCity().contains(search))
|| (null!=student.getCountry() && student.getCountry().contains(search))
|| (null!=student.getCity() && student.getCity().contains(search))
|| (null!=student.getPhone_number() && student.getPhone_number().contains(search))) {
if(!initial_result_list.contains(student)) {
initial_result_list.add(student);
}
}
}
}
return initial_result_list;
}
非常感謝sumeet ..你的方法奏效! – Dipanshu