Проблема в том, что вы постоянно расширяете список, размер которого контролирует само продолжение цикла:
for (int i=0; i < entryList.size(); ++i) {
...
entryList.add(new PhoneBook(entryList.get(i).getFirstName(),
entryList.get(i).getLastName(),
entryList.get(i).getNumber(), entryList.get(i).getNote()));
Оператор entryList.add...
добавляет значение в список, так что когдаусловие цикла оценивается для следующей итерации, entryList.size()
будет еще больше.
Вы можете исправить это, прочитав размер перед циклом:
int entryListSize = entryList.size();
for (int i=0; i < entryListSize; ++i) {
Или, еще лучше, НЕ добавление значений в тот же список в цикле.На мой взгляд, это более разумное решение, так как нет смысла добавлять записи в один и тот же список.Может быть, вы намеревались добавить значения в другой объект списка?