Поиск по списку массивов - PullRequest
2 голосов
/ 03 июня 2011

Я делаю несколько прошлых экзаменационных работ в рамках подготовки к предстоящему экзамену, и натолкнулся на этот вопрос, и я не уверен, как его решить, я написал цикл for-each с утверждением if Я не уверен, что заголовок будет и что вернуть. Любая помощь будет отличной. Спасибо.

Вопрос:

Используется ArrayList с именем classList хранить студенческие предметы.

Напишите код для метода, который определяет, будут ли данные для студент с указанным именем и фамилия присутствует в classList.

Ответы [ 3 ]

6 голосов
/ 03 июня 2011

Что-то вроде:

boolean lala( Student given ) {
  for( Student s : classList ) {
    if( s.getForename().equals( given.getForename() ) &&
        s.getSurname().equals( given.getSurname() ) ) {
      return true;
    }
  }

  return false;
}
2 голосов
/ 03 июня 2011
static boolean isPresentInList(List<Student> students, String forename, String surname)
{
     // loop thru students and check forename and surname and if there is a match, 
     // return true
     // outside of loop return false (no match).

     ...
}
1 голос
/ 03 июня 2011

Как то так?

private static ArrayList<Student> findStudents(ArrayList<Student> students, Student student) {
    ArrayList<Student> result = new ArrayList<Student>();
    for (Student obj: students) {
        if (obj.getFirstname().equals(student.getFirstname()) &&
            obj.getLastname().equals(student.getLastname())) {
            result.add(obj);
        }
    }
    return result;
}

class Student {
    private String mFirstname;
    private String mLastname;

    public Student() {

    }

    public Student(String fistName, String lastName) {
        mFirstname = fistName;
        mLastname = lastName;
    }

    public String getFirstname() {
        return mFirstname;
    }

    public void setFirstname(String mFirstname) {
        this.mFirstname = mFirstname;
    }

    public String getLastname() {
        return mLastname;
    }

    public void setLastname(String mLastName) {
        this.mLastname = mLastName;
    }
}

public class Main {
    public static void main(String[] args) {
        ArrayList<Student> studentList = new ArrayList<Student>();
        studentList.add(new Student("eder", "quiñones"));
        studentList.add(new Student("eder", "orteag"));
        studentList.add(new Student("lucia", "germes"));
        studentList.add(new Student("chespirito", "gomez"));

        System.out.println(findAllStudentsByName(studentList, "eder"));
        System.out.println(findAllStudentsByName(studentList, "lucia"));
        System.out.println(findAllStudentsByLastName(studentList, "germes"));
        System.out.println(findStudents(studentList, new Student("eder", "quiñones")));
    }

    private static ArrayList<Student> findAllStudentsByName(ArrayList<Student> students, String firstName) {
        ArrayList<Student> result = new ArrayList<Student>();
        for (Student obj: students) {
            if (obj.getFirstname().equals(firstName)) {
                result.add(obj);
            }
        }
        return result;
    }

    private static ArrayList<Student> findAllStudentsByLastName(ArrayList<Student> students, String lastName) {
        ArrayList<Student> result = new ArrayList<Student>();
        for (Student obj: students) {
            if (obj.getLastname().equals(lastName)) {
                result.add(obj);
            }
        }
        return result;        
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...