Javaのプログラマー:
List<Map<String,Object>> list= new List<Map<String,Object>>();
System.out.println(list.stream().mapToInt(i -> (Integer)i.get("amount")).sum());
私は、上記のような項目のリストを持っています。私は、マップ内のキーになる金額の合計を印刷しようとしています。これは、罰金に動作します。しかし、私はちょうどマップは、この1行のコードで、そのキーが含まれている場合、私はちょうどチェックすることができるかどうかの方法がある場合は疑問に思って。ここmap.containsKeyの場合の条件を含めるために、任意の方法は?
また:
あなたは、おそらく探しているgetOrDefault
として使用すること:
list.stream().mapToInt(i -> (Integer)i.getOrDefault("amount", 0)).sum());
その時にkey
戻って存在していない0
デフォルト値としてを。