package org.tanuneko;
import java.util.ArrayList;
import java.util.List;
import java.util.function.BinaryOperator;
public class Reducer {
public static void main( String args[] ) {
System.out.println( genItems().stream().map( Item::getPrice ).reduce( Integer::sum ).get() );
}
private static List<Item> genItems() {
List<Item> items = new ArrayList<>();
items.add( new Item( 500, "Basket" ) );
items.add( new Item( 1200, "Rack" ) );
items.add( new Item( 700, "Small Table" ) );
items.add( new Item( 50000, "Granite Table" ) );
items.add( new Item( 15000, "Closet" ) );
items.add( new Item( 400, "Grout" ) );
return items;
}
private static Item getCheapestOne() {
return new Item( Integer.MIN_VALUE, "VOID" );
}
}
package org.tanuneko;
public class Item {
private int price;
private String name;
public Item( int price, String name ) {
this.price = price;
this.name = name;
}
public int getPrice() { return price; }
public String getName() { return name; }
@Override
public String toString() {
return "Item{" +
"price=" + price +
", name='" + name + '\'' +
'}';
}
}
土曜日, 1月 11, 2014
Java8 - reduceとmapで集計
ついでにmapでカスタムオブジェクト群のあるフィールド値の合計をmapとreduceで行う例.
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿