У меня есть код, который принимает файл WAV и генерирует различные двойные значения на основе его структуры.
У меня также есть пороговое значение в зависимости от этих значений.
Все, что выше этого порога, является значимым значением.
Я хочу отсортировать все группы значений последовательностей выше порога в двойной ArrayList (это будут значимые события).
Я хочу поместить эти двойные ArrayLists в Arraylist, где каждый элемент является двойным ArrayList. (ArrayList из ArrayLists):
Это моя закодированная попытка:
ArrayList<Double> significantEvent = new ArrayList<Double>();
ArrayList<ArrayList<Double>> significantEventCollect = new ArrayList<ArrayList<Double>>();
for (int loop = 0; loop < values.size(); loop++) {
if (values.get(loop) >= threshold) {
significantEvent.add(values.get(loop));
System.out.println(values.get(loop));
} else if (values.get(loop) < threshold && significantEvent.size() > 0) {
System.out.println("");
significantEventCollect.add(significantEvent);
significantEvent.clear();
}
}
//Each element appears to be empty at this point
for (int loop = 0 ; loop < significantEventCollect.size(); loop ++) {
System.out.println(" Element size " + significantEventCollect.get(loop).size());
}
Вместо того чтобы ArrayList значений добавлялся в коллекцию ArrayList перед очисткой и повторным заполнением,
Я хотел бы иметь новый arrayList каждый раз, когда новая группа значений превышает пороговое значение, и добавлять его в коллекцию ArrayList.
Я не уверен, как заставить код динамически создавать новые уникальные объекты Arraylist (количество которых будет зависеть от того, какой wav-файл вводится в метод)
Буду весьма признателен за любые советы о том, как этого добиться.