【Java 8で追加】ラムダ式とは?メリットや使い方をご紹介!

【Java 8で追加】ラムダ式とは?メリットや使い方をご紹介!

大規模な開発に使われることの多いJavaでは、なるべく簡潔で読みやすいプログラムを書くことが求められます。そのようなとき役立つのがJava 8で追加された「ラムダ式」です。ラムダ式でプログラムを記述することで、コード量を減らし読みやすくすることができます。今回はラムダ式の概要やそのメリット、使い方をご紹介します。

IT業界まるわかりガイドは、日本初Web専門スクールのインターネット・アカデミーが運営する業界情報メディアです。最新の業界情報を、初心者にも分かりやすくご紹介しています。

IT研修・ITスクールのインターネット・アカデミー

目次

ラムダ式とは?

ラムダ式とは?

C#などのプログラミング言語では既に導入されていたラムダ式ですが、Java 8からJavaにも実装されるようになりました。ラムダ式の特徴は、メソッドを変数のように扱える点にあります。

まず、ラムダ式の基本書式をご紹介します。

【書式】

 
(メソッドの引数列) -> {処理内容}

2つの整数値を引数に取り、その和をメソッドに渡すケースは、ラムダ式で以下のように書くことができます。

【ラムダ式による記述】

 
 (int x, int y) -> {return x + y;}

上記の例では引数の型宣言を行っていますが、以下のように省略することが可能です。

【引数の型宣言を省略】

 
 (x, y) -> {return x + y;}

今回のように処理内容が1行の記述で済む場合、戻り値の中かっこを省略して、さらにシンプルにまとめることができます。

【1行の記述で済む場合の中かっこの省略】

 
 (x, y) -> return x + y;

ラムダ式のメリット(何ができる?)

ラムダ式のメリット(何ができる?)

ラムダ式のメリットは、匿名クラス(一度だけしか使わないようなクラス)を用いる場合よりも関数型インターフェース(抽象メソッドを1つだけ持つインターフェース)の記述が簡潔になることにあります。ラムダ式で記述することによって、プログラムが冗長になることを防ぎ、より本質的な部分の記述に集中することができるようになるのです。

ラムダ式の例

ラムダ式の例

それでは、実際にラムダ式による関数型インターフェースの記述を見ていきましょう。参考のため、最初に匿名クラスによる記述をご紹介します。

以下のプログラムは、実行すると「HelloWorld!」と出力します。

【匿名クラスによる記述例】

interface InterfaceTest{
 public String method(String name);
}
public class Anonymous{
 public static void main(String[] args){
  InterfaceTest h = new InterfaceTest(){
   public String method(String name){
    return "Hello" + name;
   }
  };
  System.out.println(h.method("World!"));
 }
}

【ラムダ式による記述例】

interface InterfaceTest{
 public String method(String name);
}

public class Lambda{
 public static void main(String[] args){
  InterfaceTest h = name -> { return "Hello" + name; };
  System.out.println(h.method("World!"));
 }
}

匿名クラス外部で定義されている変数はfinalが指定されている(値を変更できない)か、実質的にfinal(finalが指定されているとみなされ、値を変更できない)であり、変数の値を匿名クラス内部で変更することはできませんでした。
これはラムダ式についても同様です。ラムダ式の外部で定義されている変数の値はラムダ式の内部で変更することはできません。

ラムダ式は必須知識になる?

必ずしもプログラムをラムダ式で記述しなければならないわけではありません。今までの記述方法ももちろん可能です。しかし、ラムダ式と同じくJava 8で追加された機能「Stream API」ではラムダ式を前提としているため、ラムダ式を使えるようになっておく必要があります。

また、開発現場では自分でコーディングをするだけでなく、他の人が書いたコードを読む機会も多くあります。他人のプログラムにはラムダ式が含まれている可能性があるので、ラムダ式に慣れておくことが求められるでしょう。

おわりに

今回ご紹介したラムダ式はJava 8で追加され、今では広く使われています。Javaは歴史あるプログラミング言語ですが、時代とともに進化を続けています。プログラミングの世界では日々新しい変化が起きており、スクールなどで技術情報や業界動向をキャッチアップしていくことが大切です。

インターネット・アカデミーでは、現場の第一線で活躍するプロ講師の指導を受けることができます。Javaのプログラミングスキルを磨いてエンジニアやプログラマーになりたいという方に、Java講座やITエンジニア総合コースの受講をおすすめします。

Webデザイン・プログラミングスクール インターネット・アカデミー

関連記事

Java入門:プログラミングの必須知識!まず押さえたい基本用語集 Java1.0~8そして最新の9!Javaの歴史を振り返ってみました

関連講座

Java講座 ITエンジニア総合コース

Web業界への就転職・キャリアアップを成功させたいと考えている方へ
日本初そして日本唯一のWeb専門スクールインターネット・アカデミー

自分にぴったりのコースが見つかる

インターネット・アカデミーでは、Web業界を目指すあらゆる方にお応えすべく、多彩なコースをご用意しています。

Webデザインを学びたい方

プログラミングを学びたい方

自分のペースとスタイルで学べる

毎回好きな受講形式を選んで学習することができるので、働きながらじっくり通いたい方も短期間での就職を目指す方も自分の都合に合わせて、スケジュールを組むことができます。

  • ライブ授業

    現役のプロインストラクター
    と仲間と学ぶメリット

    ライブ授業
  • マンツーマン授業

    インストラクターと
    1対1という贅沢

    マンツーマン授業
  • オンデマンド授業

    いつでも学びたいことを
    学べる

    オンデマンド授業

自分に適した学習方法を探す

インターネット・アカデミーでは、無料体験レッスンを毎日開催しています。デザインやプログラミングの体験ができるのはもちろん、実際の授業に参加したり、就職や転職のご相談、通学スケジュールのご相談なども承っております。

  • ご要望をお伺い

    ご要望をお伺い

    まずはお客様のご要望をお伺いし、お一人おひとりの目的や悩みに最適な内容にカスタマイズ。お客様専用の内容で当日ご案内いたします。

  • カウンセリング

    カウンセリング

    就職や転職、在宅で働きたいなど、お客様の希望を叶えるために専任のスタッフが最適な学習プランをご提案。現在の仕事のご相談なども承ります。

  • 体験レッスン

    体験レッスン

    「自分に向いている分野は?」「自分にできる?」そんな疑問を解決するレッスンを無料で体験。デザインもプログラミングもお試しいただけます。

無料体験レッスン・個別相談のご予約

当日ご希望の方やお急ぎの方は、フリーダイヤルにてご予約いただけます。

0120-746-555 フリーダイヤル受付時間(平日・土日) 10時-21時 オンライン予約

IT研修・人材育成のご相談を無料で承っております
法人専用社員研修、内定者・新人研修のご予約

インターネット・アカデミーでは、
あらゆるニーズに合わせた研修カリキュラムを取り揃えています。

「自社に最適な研修プランを相談したい」「研修費用の相談をしたい」「助成金を申請したい」など、お電話またはお問い合わせフォームよりお気軽にご連絡ください。

03-3341-3781 受付時間(平日・土日) 10時-21時 法人専用 お問い合わせフォーム