У меня есть карта, как показано ниже:Разбиваем карту на основе определенного условия
Key Value
23 20
32 20 (20+20 =40 , min=23 max=32)
43 18
45 24 (24+18 =42 , since 42 >40 so here min and max will be same that is 43
47 10
56 6 (24 +10 +6 =40) so here min =45 and max = 56
49 2
47 12
Как вы можете видеть, будет окончательным константу под названием раскол, значение которого 40
final int SPLIT = 40; //this will be configurable as it value can be changed.
У меня есть для реализации логики, например, если значение карты достигает 40, , тогда первый ключ карты, с которой начинается расчет, и ключ, где он достигает до 40, будет также выбран как min и max, как объяснялось выше.
Кроме того, необходимо соблюдать осторожность, если сумма достигает более 40. Если это так, мы должны игнорировать ее и принимать предыдущее значение как min и max в случае, когда min и max были бы равны.
Просьба предложить мне, как я могу достичь этого с помощью Java и Map
. люди, пожалуйста, сообщите
данные, которые я geeting не из базы данных я geeting его из критериев Hibernate в списке объектов
Я получаю список из критериев Hibernate, как показано ниже ...
List<Object[]> abcObjectsList= session.createCriteria(dddObject.class)
при осмотре в то время как я получаю данные в этом формате
abcObjectsList= ArrayList<E>
elementData =Object[3]
[0] = Long ----------> value 23
[1] = Integer -------> value 20
[0] = Long ----------> value 32
[1] =Integer -------> value 20
[0] =Long ----------> value 43
[1] =Integer -------> value 18
Я сохранил его в карте таким образом, как я требовать его же Fashi на
Map<Long, Integer> result = new HashMap<Long, Integer>();
for (Object[] arr : list) {
result.put((Long) arr[0], (Integer) arr[1]);
}
так, наконец, карта будет содержать ..
Key Value
23 20
32 20 (20+20 =40 , min=23 max=32)
43 18
возможно дублировать [Извлечение содержимого ита и динамическое выполнение вычислений] (http://stackoverflow.com/questions/21409397/extracting-the-contents-of-the-ist-and-dynamically-doing-coolculations) – user2336315
no this это не тот же вопрос, который задают, пожалуйста, сообщите об этом решении – user1694073
@ user1694073 Что вы пробовали? Где вы застряли? –