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 件のコメント:
コメントを投稿