ストリームの配列を合計java8を使用します

1種類BigDecimalの値を合計

  一覧<地図<文字列、オブジェクト>>一覧=新しいArrayListを<>();
  地図<文字列、オブジェクト> STU1 =新しいHashMapの<文字列、オブジェクト>();
  stu1.put( "名前"、 "卫庄");
  stu1.put( "スコア"、新しいのBigDecimal(80));
  list.add(STU1)。
  地図<文字列、オブジェクト> STU2 =新しいHashMapの<文字列、オブジェクト>();
  stu2.put( "名前"、 "盖聂");
  stu2.put( "スコア"、新しいのBigDecimal(90));
  list.add(STU2)。
  地図<文字列、オブジェクト> stu3 =新しいHashMapの<文字列、オブジェクト>();
  stu3.put( "名前"、 "天明");
  stu3.put( "スコア"、新しいのBigDecimal(60));
  list.add(stu3)。
  BigDecimalの合計= list.stream()マップ(X - 。>新しいBigDecimalを(x.get( "スコア")。。のtoString()))(BigDecimal.ZERO、BigDecimalのを減らす::追加)。
  System.out.println( "三人总分:" +和);

//結果:3スコア:230

2. double型の和の値

一覧<地図<文字列、オブジェクト>>一覧=新しいArrayListを<>();
  地図<文字列、オブジェクト> STU1 =新しいHashMapの<文字列、オブジェクト>();
  stu1.put( "名前"、 "卫庄");
  stu1.put( "スコア"、80.0);
  list.add(STU1)。
  地図<文字列、オブジェクト> STU2 =新しいHashMapの<文字列、オブジェクト>();
  stu2.put( "名前"、 "盖聂");
  stu2.put( "スコア"、90.0);
  list.add(STU2)。
  地図<文字列、オブジェクト> stu3 =新しいHashMapの<文字列、オブジェクト>();
  stu3.put( "名前"、 "天明");
  stu3.put( "スコア"、60.0);
  list.add(stu3)。
  ダブル合計= list.stream()を収集(Collectors.summingDouble(X - >((ダブル)x.get())) "スコア")。
  System.out。

//結果:3スコア:230

おすすめ

転載: www.cnblogs.com/sikuaiwu/p/11387107.html