Добрый день. У меня есть массив int[] размер 60480, для удобства мне нужно раскидать данные по 7 "ячейкам", для этого я использую конструкцию ArrayList<ArrayList<Integer>> week_history (есть подозрение, что это не правильное решение с точки зрения производительности и т.д., но это не точно).
Собственно проблема: Я раскидываю данные по 7 спискам и помещаю их в один общий список. Далее после этого, я хочу проверить в логах содержимое моего массива, но там выводится некорректные данные(такое впечатление, что некоторые ячейки перезаписываются друг на друга). В чём моя ошибка? Есть подозрение, что алгоритм по распределению данных по спискам не успевает завершиться, а я уже начинаю выводить в лог?
Код:
ArrayList<Integer> dayHistory = new ArrayList<>();
ArrayList<ArrayList<Integer>> week_history = new ArrayList<>();
for (int i = 0, j = 0; i < history_array.length; i++, j++){
dayHistory.add(history_array[i]);
if (j == 8639){
j = 0;
week_history.add(dayHistory);
dayHistory.clear();
}
if (i == (history_array.length - 1)){
Log.w("LOG_TAG", "Закончили цикл");
}
}
Log.w("LOG_TAG", "Переходим на след цикл");
for (int i = 0; i < week_history.get(1).size(); i++){
Log.wtf("LOG_TAG", "Элемент [" + i + "] - " + week_history.get(1).get(i));
}
Не?
int[][] weekHistory = new int[7][8640];
for(int i = 0; i < 7; i++){
for(int j = 0; j < 8640; j++){
weekHistory[i][j] = history_array[i * 8640 + j];
}
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости