Предполагая, что вы используете список списков, использование итераторов вместо их получения и установки с помощью индексов цикла приведет к увеличению производительности.
ot;Core java 1" я прочитал
ВНИМАНИЕ: ArrayList гораздо менее эффективен, чем массив int [], потому что каждое значение оборачивается внутри объекта отдельно. Вы хотели бы использовать эту конструкцию только для небольших коллекций, когда удобство для программиста важнее, чем эффективность.
Но в моем программном обеспечении я уже использовал Arraylist вместо обычных массивов из-за некоторых требований, хотя «Программное обеспечение должно иметь высокую производительность, и после того, как я прочитал процитированный текст, я начал паниковать!» одну вещь, которую я могу изменить, - это изменить двойные переменные на Double, чтобы предотвратить автоматический бокс, и я не знаю, стоит ли это того или нет, в следующем примере алгоритма
public void multiply(final double val)
{
final int rows = getSize1();
final int cols = getSize2();
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
this.get(i).set(j, this.get(i).get(j) * val);
}
}
}
Мой вопрос: меняет ли двойное на двойное? или это микрооптимизация, которая ни на что не повлияет? имейте в виду, что я мог бы использовать большие матрицы. 2-ой ли я должен пересмотреть всю программу снова?