Javaの8ストリーム条件チェック

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デフォルト値としてを。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=224101&siteId=1