JMemo041

ラムダ式を試してみた。

JDK8から導入されたという「ラムダ式」。 .NETにはとっくに昔にあったので、追従した形となった。 現場で使われるようになるのはまだ先だろうが、とりあえず.NET同様のサンプルを作ってみた。

≪クラス PriceListElement≫

public class PriceListElement {
    private int id;
    private String name;
    private int price;

    public void setId(int id) {
        this.id = id;
    }

    public int getId() {
        return id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return this.name;
    }

    public void setPrice() {
        this.price = price;
    }

    public int getPrice() {
        return this.price;
    }

    public PriceListElement(int id, String name, int price) {
        this.id = id;
        this.name = name;
        this.price = price;
    }

    public String toString() {
        return id + ", " + name + ", " + price;
    }
}

≪クラス Main≫

import java.util.List;
import java.util.ArrayList;
import java.util.stream.Stream;

public class Main {
    public static void main(String[] args) {
        final List<PriceListElement> priceList = new ArrayList<PriceListElement>();
        priceList.add(new PriceListElement(1, "apple", 120));
        priceList.add(new PriceListElement(2, "orage", 88));
        priceList.add(new PriceListElement(3, "water melon", 250));
        priceList.add(new PriceListElement(4, "melon", 500));

        Stream<PriceListElement> result = priceList.stream().filter(e -> e.getPrice() >= 100);
        print(result);
        result = priceList.stream().filter(e -> e.getName().contains("melon"));
        print(result);
    }

    public static void print(Stream<PriceListElement> list) {
        System.out.println("-----");

        for(Object e : list.toArray()) {
            System.out.println(e);
        }
    }
}

≪実行結果≫

-----
1, apple, 120
3, water melon, 250
4, melon, 500
-----
3, water melon, 250
4, melon, 500

以下を参考にした。

最終更新:2014年06月23日 00:28