-2
Я пытаюсь заполнить ArrayList после серии тестов. Он работает отлично, но немного слишком хорошо. Он добавляет каждое значение дважды в список массивов. Вот мой код, я не понимаю, где может возникнуть проблема, поскольку я только fullresult.add один раз?добавлено дважды в ArrayList
public ArrayList<Student> filterClasses (String classe){
ArrayList<Student> fullresult = new ArrayList<Student>();
for (int i = 0; i < studentDB.StudentList.size(); i++) {
int classesSize = studentDB.StudentList.get(i).classes().size()/3;
for (int j = 0; j < classesSize ; j++){
if (studentDB.StudentList.get(i).classes().contains(classe)){
fullresult.add(studentDB.StudentList.get(i));
}
}
}
System.out.println(fullresult);
return fullresult;
}
РЕШЕНИЕ
я не нужен второй цикл:
public ArrayList<Student> filterClasses (String classe){
ArrayList<Student> fullresult = new ArrayList<Student>();
for (int i = 0; i < studentDB.StudentList.size(); i++) {
if (studentDB.StudentList.get(i).classes().contains(classe)){
fullresult.add(studentDB.StudentList.get(i));
}
}
System.out.println(fullresult.toString());
return fullresult;
}
заменить fullresult.add (studentDB.StudentList.get (я)) с правильным индексом переменной .get (J) – MihaiC
Знать мои тесты не работают должным образом, массив не полон данных Я хочу получить. – Tuytuy
Или вы могли бы быть ленивым и использовать 'Set': P Больше не нужно делать обманы –