Я создал список объектов, который очень медленный, и мне нужно увеличить скорость построения списка. Объекты, добавленные в список, сами имеют несколько подобъектов, обычно 3 объекта, которые меняются на 2 или 1 в зависимости от того, сколько данных осталось добавить.
Я собирался построить бин данных подобъекта в качестве параметров. передаваемые в основном те же самые, изменяются только субобъекты. Я считаю, что есть гораздо более эффективный способ, чем то, как я составил список.
Это код, который у меня есть на данный момент:
List<MainObject> list = new ArrayList();
List<Data> dataList = getDataList();
MainObject mainObject;
int limit = 100;
for(int i = 0; i < limit; i += 3) {
if(i == limit - 1) {
list.add(mainObject = new MainObject(new SubObject(dataList.get(i), this, bBool, tabs)));
}else if(i == limit - 2) {
list.add(mainObject = new MainObject(new SubObject(dataList.get(i), this, bBool, tabs),
new SubObject(dataList.get(i +1), this, bBool, tabs)));
}else {
list.add(mainObject = new MainObject(new SubObject(dataList.get(i), this, bBool, tabs),
new SubObject(dataList.get(i +1), this, bBool, tabs),
new SubObject(dataList.get(i +2), this, bBool, tabs)));
}
}
return list;
Параметры "this, bBool, tabs" - все переменные класса и всегда одинаковы. Я действительно знаю, что последнее условие else будет выполняться большую часть времени, так что, вероятно, оно должно быть первым условием в операторах if, но я бы лучше нашел лучший способ построения списка все вместе.