Что ж, я вижу для вас 3 способа:
-1) использовать тот факт, что переданные переменные передаются по ссылке.таким образом, вы можете напрямую изменять объект в вашей функции и не беспокоиться о возвращаемых значениях
-2) вы можете просто создать массив объектов:
Object[] returnTab = new Object[numberToStore];
(это не такочень симпатично)
-3) создать объект ReturnObjectContainer
контейнер публичного класса {public ObjectA a;public ObjectB b;
Arraylist list = new list ();
... // добавьте все, что вам нужно для хранения}