2016-12-07 3 views
-3

для этого кода результат он дает мне «0»:Как суммировать элементы Карты?

Map<Integer, Long> bwvm=BwProvisionerSimple.getBwConsumed(); 

     Map<Integer, Long> map = new HashMap<Integer, Long>(); 

     long sum = 0; 
     for (Long val : map.values()){ 
      sum += val; 
     } 


     long bwhost=BwProvisioner.getBw(); 
     Log.print("getBw"+bwhost+"\n"); 

     if (sum > bwhost){ 

     bwhost=sum; 

     } 
     Log.printLine("\n new Bw host="+bwhost); 
+4

'map' пуст. Сумма нулевых значений равна нулю. Вы хотите использовать 'bwvm.values ​​()' вместо этого? –

+2

Ваша сумма остается 0, потому что вы создаете карту и не заполняете ее никакими данными. – Aelop

+1

Я предлагаю вам выполнить код в своем отладчике, чтобы лучше понять, что вы делаете. –

ответ

0

Проблема с вашими картами: вы просто инициализировать их и не вставляя значения.

Map<Integer, Long> bwvm=BwProvisionerSimple.getBwConsumed(); 
Map<Integer, Long> map = new HashMap<Integer, Long>(); 
Смежные вопросы