Item.java
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[] ) { BinaryOperator<Item> costsMore = (m,n)-> { return ( m.getPrice() > n.getPrice() ? m:n ); }; System.out.println(genItems().stream().reduce(getCheapestOne(), costsMore)); } 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" ); } }Item.java
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 + '\'' + '}'; } }実行結果
Item{price=50000, name='Granite Table'}
0 件のコメント:
コメントを投稿