array_params_values[0].values*array_params_values[1].values*array_params_values[2].values
И это оправдано, потому что в массиве известно заранее сколько будет элементов. Если это станет не так (не будет элемента) - вылезет ошибка, да можно дополнительно проверить количество.
p.s. отвратительно выбран способ хранения параметров и имена.
Не надо хранить так, так как чтобы добраться до значения по имени нужно будет перебирать весь массив.
Пользуйся key-value объектами в java, их можно менять на ходу, работать удобно, быстро (можно new Map() использовать оно еще быстрее)