... Я хотел бы удалить компонент из statFilterResults после того, как я пробегу его внутри цикла while, чтобы освободить память.
Если есть другая ссылка на объект вне массива, установка его на ноль не будет иметь никакого значения, память для этого объекта используется только один раз, а в Java вы видите только ссылки (или ссылочные значения) *
Так что если у вас есть что-то вроде:
this.bean = new PerfStatBean();
....
arrayList.add( this.bean );
Удаление его из списка не будет иметь никакого значения, потому что исходная ссылка все еще существует и не получит gc'ed.
Если у вас нет других ссылок за пределами коллекции, т. Е.
arrayList.add( new PerfStatBean() );
Тогда этого должно быть достаточно:
while(....){
....
}
arrayList.clear();
Потому что это удалит ссылки на объект и сделает их подходящими для gc.
Более того: если вы хотите «помочь» уменьшить количество ссылок на объект, вызывайте:
while(....){
....
}
arrayList.clear();
должно быть достаточно.