カテゴリ: Java 更新日: 2026/04/26

JavaのStreamインターフェースのmapToIntの使い方を完全ガイド!初心者でもわかる数値変換処理

StreamのmapToIntメソッド
StreamのmapToIntメソッド

先生と生徒の会話形式で理解しよう

生徒

「JavaでStreamを使って数値の計算を簡単にしたいのですが、どのような方法がありますか?」

先生

「Javaでは、java.util.streamパッケージのStreamインターフェースに、mapToIntという便利なメソッドがあります。これは、データを整数に変換しながら処理できる仕組みです。」

生徒

「整数に変換しながら処理できるということは、合計や平均なども簡単にできますか?」

先生

「その通りです。StreamとmapToIntを使えば、従来のfor文よりも読みやすく、短いコードで計算ができます。実際に使い方を確認していきましょう。」

1. StreamインターフェースとmapToIntとは何か

「1. StreamインターフェースとmapToIntとは何か」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。

1. StreamインターフェースとmapToIntとは何か
1. StreamインターフェースとmapToIntとは何か

JavaのStreamインターフェースは、データを流れとして扱うことができる仕組みです。配列やリストなどの要素を順番に処理し、フィルタリングや変換、集計などを行うことができます。Javaのコレクション操作を簡単にしたいときに、Streamは強力な選択肢になります。mapToIntメソッドは、Streamの要素を整数に変換するためのメソッドです。たとえば、商品価格のリストを整数に変換して合計を求めたり、文字列の長さを数値に変換して集計したりといった場面で役立ちます。また、mapToIntの戻り値はIntStreamという専用のストリームに変化し、sumやaverageなどの便利な数値処理メソッドが使えるようになります。初心者がJavaで数値処理を行うときに理解しておくと、記述量を大きく減らせるメリットがあります。

2. mapToIntの基本的な使い方

2. mapToIntの基本的な使い方
2. mapToIntの基本的な使い方

mapToIntを使うには、まず配列やリストに対してstreamを呼び出し、そこから要素を整数に変換したり、加工したりします。例えば、文字列の長さを整数として取り出す場合、下のようなサンプルコードになります。


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

public class MapToIntExample {
    public static void main(String[] args) {
        List<String> words = List.of("Java", "Stream", "Lambda", "Code");

        int totalLength = words.stream()
                .mapToInt(String::length)
                .sum();

        System.out.println(totalLength);
    }
}

このサンプルでは、文字列の長さをmapToIntで整数に変換し、sumメソッドで合計を求めています。従来のfor文では、変数を用意して繰り返し処理を書かなければいけませんが、Streamを使うことで自然な流れで記述できます。複雑な処理が読みやすくなり、保守性の高いコードになります。

3. 出力結果を確認してみよう

3. 出力結果を確認してみよう
3. 出力結果を確認してみよう

上のサンプルコードを実行すると、文字列の長さの合計が出力されます。


22

JavaのStreamとmapToIntを使うことで、文字列の長さを数値として扱い、簡単に合計を求めることができました。初心者でも理解しやすい書き方となっているため、まずは文字列や数値の変換処理から練習すると良いでしょう。

4. 合計以外の計算もできる

「4. 合計以外の計算もできる」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。

4. 合計以外の計算もできる
4. 合計以外の計算もできる

mapToIntは合計だけでなく、平均、最大、最小などの計算にも向いています。例えば、商品の金額の平均を求めたい場合、averageメソッドを使用できます。


import java.util.List;

public class MapToIntAverageExample {
    public static void main(String[] args) {
        List<Integer> prices = List.of(100, 200, 350, 400);

        double avg = prices.stream()
                .mapToInt(p -> p)
                .average()
                .orElse(0);

        System.out.println(avg);
    }
}

このように、Javaで数値処理を行うとき、mapToIntはとても便利です。要素を整数に変換するだけで、専用の数値計算メソッドをそのまま使えるようになるため、処理がシンプルで理解しやすくなります。

5. 文字列の加工から数値変換を行う例

5. 文字列の加工から数値変換を行う例
5. 文字列の加工から数値変換を行う例

文字列の末尾に単位が含まれていたり、余分な記号があったりすると、そのままでは数値として扱えません。mapToIntでは、ラムダ式で加工しながら変換できます。例えば、文字列の価格表記から数値だけを取り出すサンプルを見てみましょう。


import java.util.List;

public class MapToIntCleanExample {
    public static void main(String[] args) {
        List<String> prices = List.of("100円", "250円", "300円");

        int total = prices.stream()
                .mapToInt(s -> Integer.parseInt(s.replace("円", "")))
                .sum();

        System.out.println(total);
    }
}

この例では、文字列から「円」を取り除き、整数に変換して合計しています。Javaで文字列処理と数値計算を組み合わせたい場面で便利です。従来のfor文よりも短く書けるため、コードのミスも減りやすくなります。

6. IntStreamで使える便利なメソッド

6. IntStreamで使える便利なメソッド
6. IntStreamで使える便利なメソッド

mapToIntの戻り値であるIntStreamには、さまざまな便利なメソッドがあります。sum、average、max、minなどがよく使われます。特に平均や最大値、最小値は、業務システムや集計処理で活躍します。Java初心者がデータ処理を学ぶとき、まずは合計を求め、次に平均を求める例へ進むと理解しやすい流れになります。

7. 知っておきたい注意点

「7. 知っておきたい注意点」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。

7. 知っておきたい注意点
7. 知っておきたい注意点

mapToIntはとても便利ですが、変換処理で例外が発生する可能性があります。特に、文字列を数値に変換するときは、数値以外の文字が含まれるとNumberFormatExceptionが起きます。そのため、replaceメソッドで不要な文字を除去したり、正規表現で数字だけを取り出したりする工夫が必要です。また、averageはoptionalを返すため、値が存在しない場合にorElseで初期値を設定できます。JavaのStreamは柔軟に拡張できるため、徐々に応用的な処理へ挑戦していきましょう。

カテゴリの一覧へ
新着記事
New1
Java
JavaのNotSerializableExceptionを完全解説!初心者でも理解できるシリアライズと例外処理
新規投稿
New2
Spring
Springの@Repositoryアノテーションの使い方を徹底解説!初心者でもわかるSpringフレームワークのデータアクセス
更新記事
New3
Spring
Springの@Componentアノテーションの使い方を徹底解説!初心者でもわかるSpring Boot入門
更新記事
New4
Java
Javaのjava.mathとBigIntegerのintValueメソッドを完全解説!初心者でもわかる数値変換の基本
更新記事
人気記事
No.1
Java&Spring記事人気No1
Servlet
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本
No.2
Java&Spring記事人気No2
JSP
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介
No.3
Java&Spring記事人気No3
JSP
JSPでフォームを表示して入力を受け取る基本手順をやさしく解説!初心者向けフォーム処理の入門ガイド
No.4
Java&Spring記事人気No4
Spring
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.5
Java&Spring記事人気No5
JSP
JSPでCSSやJSを読み込む基本!外部ファイルのパス指定に注意しよう
No.6
Java&Spring記事人気No6
Spring
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.7
Java&Spring記事人気No7
Spring
Spring Data JPA入門!findAll()やfindBy**()の使い方などデータベース操作の基礎を学ぶ
No.8
Java&Spring記事人気No8
JSP
JSPでif文・for文を使う方法!初心者でもわかるJavaとの違いと使い方