2010-11-15 5 views
0

Сегодня я узнал два способа доступа к массиву, я хотел бы узнать различные способы доступа к элементу массива и наилучшую его практику. Я изучаю алгоритм обучения.Различные способы доступа к массиву

int [] arr; 
long [] arr; 

Преимущества длинной декларации типа данных по инт.

class ArrayApp{ 

    public static void main(final String[] args){ 

long [] arr; 
    arr= new long[2]; 
int i; 
arr[0]=112; 
arr[1]=111; 

    **// Way one** 

for(long l:arr) 
{ 
System.out.println(l); 
} 

    **// Way Two** 

for(i=0;i<arr.length;i++) { 
System.out.println(arr[i]); 
} 

    } 
} 
+1

Что вы хотите сказать? – egrunin

+0

Причина первого способа (усиленного цикла) заключается в том, что массивы в java являются «Итерируемыми». Это языковая конструкция. –

+0

способы доступа к элементам массива. – theband

ответ

0

У нас одно объявление массива:

long[] values = new long[100]; 

Это создает массив для 100 long значений типа. Каждое значение имеет индекс (положение) внутри массива, первый индекс (значение int!) Равен 0, последний из которых равен 99.

Традиционный цикл цикла увеличивает целочисленное значение для формирования номеров позиций индекса. Эти int значений используются для доступа к long значения массива:

for (int index=0; index < values.length; index++) { // index is int 
    long value = values[index];       // value is long 
    // do something with value 
} 

«Расширенный» для цикла просто скрывает этот показатель и дает доступ к long значениям с меньшим количеством коды:

for (long value:values) { 
    // do something with value 
} 

Это все. Если вам не нужна переменная индекса в вашем коде, просто используйте расширенный цикл (вторая версия в моем ответе)

0

Интенция короче длинной. Вы можете создать массив любого объекта или примитивного типа. int [], Integer [], CustomClass [], что угодно.

От Java документации:

INT: Тип INT данных представляет собой 32-разрядное подписали дополнение до двух число. Это имеет минимальное значение -2,147,483,648 и максимальное значение 2,147,483,647 (включительно). Для интегральных значений этот тип данных обычно является выбором по умолчанию , если нет причины (например, выше), чтобы выбрать что-то еще. Этот тип данных, скорее всего, будет , достаточно большой для цифр, которые будут использовать ваша программа , но если вам нужен более широкий диапазон значений , используйте вместо этого длинный .

long: длинный тип данных - это 64-разрядное , подписанное целое число дополнений. Оно имеет минимальное значение -9,223,372,036,854,775,808 и максимальное значение 9,223,372,036,854,775,807 (включительно). Используйте этот тип данных, если вам нужен диапазон значений , который превышает значения , предоставляемые int.

+1

Вы недопонимаете вопрос. – SLaks

+0

Я не уверен. «Преимущества длинной декларации типа данных по int». заставляет меня думать, что ОП не совсем понял то, что только что сказал Марк. – AHungerArtist

+0

Он просит «Преимущества длинной декларации типа данных по int». также? Ответ на другой вопрос уже дан. –

2

Здесь нет реальной разницы между способами. Путь один - это просто синтаксический сахар, чтобы не создавать дополнительное значение взаимодействия.

Первый способ предпочтительнее, так как он не требует переменной int i; и требует меньше печатания. Второе должно использоваться, когда вы не хотите проходить через весь массив, а только часть его.

Нет других способов доступа к элементам массива в java.

0

Первый способ

for(long l:arr) 
{ 
     System.out.println(l); 
} 

выполнения Java будет Autobox л к длинному, так как Итерируя способ требует, чтобы класс реализации Iterable интерфейс. Этот способ также не обеспечивает текущий индекс массива.

Второй способ

for(i=0;i<arr.length;i++) { 
    System.out.println(arr[i]); 
} 

не требует проливает на Лонга, и вы также имеете доступ к текущему индексу. Тем не менее, вы также должны быть осторожны при повторении конца массива или доступа к элементам массива ниже 0.

+0

Вы также должны быть осторожны при повторении конца массива или доступа к элементам массива ниже 0. Не могли бы вы объяснить это с помощью примера – theband