поведение for-each цикла
Добавлено: 12 июл 2013, 05:14
Обнаружил странное поведение (на мой взгляд) цикла for-each. Объясните, пожалуйста, где я накосячил.
Нахожу в логах:
Это конечно выдернуто из контекста, но если код заменить на:
то результат, как и задумывалось:
т.е. почему for-each цикл прерывает итерацию на 4 элементе и начинает сначала, а потом тоже самое на 6м?
Код: Выделить всё
for (Integer i : arr_posN) {
Log.d(TAG, "arr_posN ("+ Integer.toString(i) + "): " + Integer.toString(Integer.valueOf(arr_posN.get(i))));
if(arr_posN.get(i) == (position + 1)){
start_id = i;
Log.d(TAG, "start_id: " + Integer.toString(start_id));
break;
}
}Код: Выделить всё
itemClick: position = 4, id = 53
arr_posN (1): 2
arr_posN (2): 3
arr_posN (3): 4
arr_posN (4): 2
arr_posN (2): 3
arr_posN (3): 4
arr_posN (4): 2
arr_posN (5): 3
arr_posN (6): 4
arr_posN (5): 3
arr_posN (6): 4
arr_posN (5): 3
arr_posN (6): 4
Код: Выделить всё
for (int i = 0; i < arr_posN.size(); i++) {
Log.d(TAG, "arr_posN ("+ Integer.toString(i) + "): " + Integer.toString(Integer.valueOf(arr_posN.get(i))));
if(arr_posN.get(i) == (position + 1)){
start_id = i;
Log.d(TAG, "start_id: " + Integer.toString(start_id));
break;
}
}Код: Выделить всё
itemClick: position = 4, id = 53
arr_posN (0): 1
arr_posN (1): 2
arr_posN (2): 3
arr_posN (3): 4
arr_posN (4): 2
arr_posN (5): 3
arr_posN (6): 4
arr_posN (7): 5
start_id: 7