Есть ArrayList:
ArrayList<Double> ald = new ArrayList();
Нужно создать массив такого типа:
Double[] arr_ald = new Double[10];
Но вместо Double должен быть тип как у ald (ArrayList<Double>), чтобы можно было сделать перебор массива:
arr_ald[i]
и брать элементы:
ald.get(j)
Создать массив из объектов параметризованного типа (коими являются ArrayList<Double>) нельзя. Об этом говорится в документации.
Так что тут либо использовать raw type ArrayList (со всеми появляющимися при этом проблемами):
ArrayList<Double> list1 = new ArrayList<>(Arrays.asList(1.0, 2.0));
ArrayList<Double> list2 = new ArrayList<>(Arrays.asList(3.0, 4.0));
ArrayList[] lists = { list1, list2 };
for (ArrayList list : lists)
{
for (Object o : list)
{
double value = (double)o;
System.out.println(value);
}
}
Либо создавать обёртку для ArrayList<Double>:
public class ArrayListDouble extends ArrayList<Double> { }
и использовать её:
ArrayListDouble list1 = new ArrayListDouble();
list1.addAll(Arrays.asList(1.0, 2.0));
ArrayListDouble list2 = new ArrayListDouble();
list2.addAll(Arrays.asList(3.0, 4.0));
ArrayListDouble[] lists = { list1, list2 };
for (ArrayListDouble list : lists)
{
for (double value : list)
{
System.out.println(value);
}
}
Массив списков (как и любых других параметризированных типов) создать нельзя.
Oracle Docs:
You cannot create arrays of parameterized types. For example, the following code does not compile:
List<Integer>[] arrayOfLists = new List<Integer>[2]; // compile-time error
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости