Есть ли способ найти среднее значение именованного свойства в LinkedHashMap, принадлежащего каждому из набора агентов, без итерации коллекции?
В простых Java терминах, которые можно переформулировать как msgstr "найти среднее значение свойства, хранящегося в LinkedHashMap, принадлежащего каждому элементу списка". Действительно, это должно быть сделано из списка, поскольку коллекция агента должна сначала фильтроваться на основе значения переменной.
Дублирование свойства LinkedHashMap в автономном параметре не является вариантом, так как на самом деле их 135, что является одной из причин, почему они находятся в LinkedHashMap, и поэтому сводит на нет любое преимущество в производительности по сравнению с итерацией того, для которого требуется среднее значение в любой заданной точке.
В ответ на вопрос Бенджамина, вот мой текущий код, чтобы сделать это вручную, где sParam является заглушкой имени элемента LinkedHashMap, а iSegment является уникальным:
// Iterate the Products:
for (Product oProduct : Products.findAll(
p -> p.v_active == true
)) {
// Add the Segment value for this Param:
iCountProducts++;
dblTotal += oProduct.v_paramMap.getOrDefault(sParam + Integer.toString(iSegment), 0.0);
}
// Calculate the mean:
dblReturn = dblTotal / iCountProducts;
Мне просто интересно, есть ли в среднем стиль где могут быть адаптированы к этой ситуации. Нет bigg ie, если нет - вышеописанное выполняется 1000 раз за 0,008 секунды.