Динамическое создание определенного количества массивов на основе метода ввода. (ДЖАВА) - PullRequest
0 голосов
/ 04 июня 2019

У меня есть код, который принимает файл 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-файл вводится в метод)

Буду весьма признателен за любые советы о том, как этого добиться.

...