검색 알고리즘을 개발 중입니다. 여기에는 학생 객체의 ArrayList가 있습니다. 그리고 우리는 ArrayList에서 학생들을 검색해야합니다. 학생 클래스의 속성은 이름, 도시, 국가 및 전화 번호입니다. 이름, 도시, 국가 또는 번호를 입력하면 검색과 일치하는 학생 개체의 목록을 가져와야합니다. soppose, "john"을 검색에 입력하면 john 인 학생 개체의 목록을 가져와야합니다. 검색어에 단어가 두 개 이상 (예 : "john brazil") 인 경우 이름이 john이고 국가가 brazil 인 모든 학생 개체의 목록을 가져와야합니다. 나는 적절한 출력을 얻지 못하고 있습니다. 목록에서 나는 이름이 존이고 브라질이있는 모든 객체를 가진 모든 객체를 얻고 있습니다. 점점 (이름 || 국가)하지만 필요 (이름 & & 나라). 어떤 도움을 주시면 감사하겠습니다. 미리 감사드립니다.다중 단어 검색 키로 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;
}
감사합니다! – Dipanshu