こんにちは。たいら(@tairaengineer2)です。
今回の記事はJava8で追加されたラムダ式の中の1つのmapメソッドについてのアウトプット記事です。
mapメソッドとは
このストリームの要素に指定された関数を適用した結果から構成されるストリームを返します。
Stream (Java Platform SE 8)から引用させて頂きました
説明の通り、mapメソッドは要素に指定された処理をした後、結果をストリームにして返します。
また中間操作でもあります。
それでは、早速mapメソッドを使ってみましょう!
フォルダ構成
フォルダ構成は↓のようになっています。
Java
プログラムの概要を説明します。
Javaプログラムを2つ作りました。
1つは、動物エンティティです。
もう1つは、動物エンティティのリストを生成して、表示させるプログラムです。
Animal
package lambdaPractice;
/**
* 動物クラス
*
*/
public class Animal {
/** 動物の名前 */
private String name;
/** 動物の種類 */
private String genus;
/**
* 動物の名前を取得する
* @return 動物の名前
*/
public String getName() {
return name;
}
/**
* 動物の名前を設定する
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* 動物の種類を取得する
* @return
*/
public String getGenus() {
return genus;
}
/**
* 動物の種類を設定する
* @param genus
*/
public void setGenus(String genus) {
this.genus = genus;
}
}
MapSample
package lambdaPractice;
import java.util.ArrayList;
import java.util.List;
/**
* mapメソッドを練習するクラス
*
*/
public class MapSample {
public static void main(String[] args) {
// 動物リストを生成
List<Animal> animalList = new ArrayList<>();
// トラオブジェクトを生成し、動物リストに追加
Animal tiger = new Animal();
tiger.setGenus("トラ");
tiger.setName("きば");
animalList.add(tiger);
// イヌオブジェクトを生成し、動物リストに追加
Animal dog = new Animal();
dog.setGenus("イヌ");
dog.setName("ポチ");
animalList.add(dog);
// ネコオブジェクトを生成し、動物リストに追加
Animal cat = new Animal();
cat.setGenus("ネコ");
cat.setName("タマ");
animalList.add(cat);
// 動物リストを表示
animalList.stream()
.map(e -> e.getGenus() + ":" + e.getName())
.forEach(e -> System.out.println(e));
}
}
実行結果
トラ:きば
イヌ:ポチ
ネコ:タマ
このようにmapメソッドは、要素を変更することができます!
まとめ
いかがだったでしょうか?
この記事が皆さんのご参考になれば幸いです。
ではでは~(・ω・)ノシ