Tienes un error de concepto.
Cita: array = funcionQueRellenaArrayList();
No sé exactamente cómo es funcionQueRellenaArrayList(), pero por tu problema y teniendo en cuenta que no le pasas como parámetro un arraylist, parece que lo que estás haciendo es generar un nuevo arraylist que referencias con
array.
La referencia
arrayloquesea que pasas como parámetro al llamar al método y la referencia
array dentro de funcionQueRellenaArrayList(), no son la misma, por lo que al salir de él, la referencia
arrayloquesea del método que llama a getTotales(), seguirá apuntando a un arraylist vacío.
Necesitas que funcionQueRellenaArrayList() actúe sobre el objeto al que apunta
array y
arrayloquesea, no generar uno nuevo.