В последнее время я хотел начать думать не только о решениях, но и об эффективности программирования. И именно поэтому я сталкиваюсь со следующим сомнением, и, как следует из названия, оно таково:
Каков наиболее эффективный способ перебора массива в Java?
И это не только импорт метода, но и то, почему это лучший способ, поскольку таким образом я могу применять эти знания в других различных случаях.
Нет лучшего способа, но есть разные способы для ваших случаев использования. Поскольку размер массива не меняется в Java после его создания, классический способ заключается в переборе индексов:
Этот метод использует простой цикл с примитивом в качестве индекса, поэтому он не слишком дорог и используется, когда вам нужно знать индекс вместе с объектом массива.
Другой способ, если не имеет значения, сколько элементов существует в массиве или не требуется ссылка на индекс:
Оба способа требуют мало ресурсов и надо помнить, что в Java нет особого смысла заморачиваться оптимизацией кода, потому что в оптимизацию выполнения байткода в виртуальной машине из JIT-компилятора (как раз вовремя) вложен огромный интеллект ).
Просто помните, что в контексте производительности рекомендуется избегать очень высоких функций для простых случаев, если вы хотите минимизировать заголовок. В следующем примере используется больше ресурсов, поскольку он включает установку нескольких дополнительных объектов, что всегда означает увеличение времени выполнения и использования памяти:
Начиная с Java 8 вы можете использовать функциональное программирование с выражениями Lambdas.
Постарайтесь сделать код максимально читабельным.
Я надеюсь, что это служит вам Привет.
Если вы имеете в виду полный обход массива (который будет читать все его элементы), я действительно не думаю, что какая-либо оптимизация может быть применена (или быть незначительной) за пределами читаемости так или иначе, это потому, что компилятор в конечном итоге выполнит преобразование этого.
Я оставляю вам этот вопрос в английской версии с более полными ответами, если это может вам помочь: https://stackoverflow.com/questions/1006395/fastest-way-to-iterate-an-array-in-java-loop -variable -vs-расширенный-для-утверждения
//Объявляем переменную int []array=new int[100];