カテゴリ: Kotlin 更新日: 2025/12/12

Kotlinのsum・average・countで集計する方法

Kotlinのsum・average・countで集計する方法
Kotlinのsum・average・countで集計する方法

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

生徒

「Kotlinで数字の合計や平均を簡単に求める方法ってありますか?」

先生

「はい、Kotlinにはsumaveragecountという集計用の関数があって、1行で計算できますよ。」

生徒

「それぞれどんなときに使うんですか?」

先生

sumは合計、averageは平均、countは要素の数を数えるときに使います。では順番に見ていきましょう。」

1. sumで合計を求める

1. sumで合計を求める
1. sumで合計を求める

sumはリストや配列に入っている数値の合計を計算します。例えば、テストの点数や売上の合計を出したいときに便利です。


fun main() {
    val scores = listOf(80, 90, 75, 100)
    val total = scores.sum()
    println(total)
}

345

リストに整数(Int)や小数(Double)が入っていれば、自動的に合計してくれます。

2. averageで平均を求める

2. averageで平均を求める
2. averageで平均を求める

averageは要素の平均値を計算します。例えば、クラス全員の平均点を出すときに使えます。


fun main() {
    val scores = listOf(80, 90, 75, 100)
    val avg = scores.average()
    println(avg)
}

86.25

小数点付きで結果が返ってくるため、より正確な計算ができます。

3. countで要素数を数える

3. countで要素数を数える
3. countで要素数を数える

countはコレクションに入っている要素の数を数えます。単純に全要素数を数えるだけでなく、条件を付けて数えることもできます。


fun main() {
    val scores = listOf(80, 90, 75, 100)
    val totalCount = scores.count()
    val highScores = scores.count { it >= 90 }
    println(totalCount)
    println(highScores)
}

4
2

この例では、全体の要素数と90点以上の人数を別々にカウントしています。

4. 条件付きsum・averageの応用

4. 条件付きsum・averageの応用
4. 条件付きsum・averageの応用

実はfilterと組み合わせれば、特定の条件に当てはまる要素だけを集計できます。


fun main() {
    val sales = listOf(1200, 800, 1500, 2000, 500)
    val highSalesTotal = sales.filter { it >= 1000 }.sum()
    val highSalesAvg = sales.filter { it >= 1000 }.average()
    println(highSalesTotal)
    println(highSalesAvg)
}

4700
1566.6666666666667

これで「売上が1000円以上の合計と平均」など、条件付きの集計も簡単にできます。

5. 実用例:家計簿の集計

5. 実用例:家計簿の集計
5. 実用例:家計簿の集計

家計簿アプリを作る場合、月の支出合計や平均支出、支出項目数などを簡単に求められます。


data class Expense(val category: String, val amount: Int)

fun main() {
    val expenses = listOf(
        Expense("食費", 20000),
        Expense("光熱費", 8000),
        Expense("交通費", 5000),
        Expense("食費", 15000)
    )
    val total = expenses.sumOf { it.amount }
    val avg = expenses.map { it.amount }.average()
    val categoryCount = expenses.map { it.category }.distinct().count()

    println(total)
    println(avg)
    println(categoryCount)
}

48000
12000.0
3

このように、sumaveragecountを組み合わせると、現実的なデータ集計がとても簡単にできます。

まとめ

まとめ
まとめ

Kotlinで数字を集計する場面は、とてもたくさんあります。家計簿の集計、売上の合計、テストの点数の平均、名簿の人数確認など、毎日のように使われる処理です。今回の記事で使ったsumやaverageやcountは、複雑な計算式を書く必要がなく、一行で数値の合計や平均、要素数を求められる便利な関数でした。とくにリストや配列が相手だと、手作業でループを書かずに素早く集計できるので、初心者でも安心して使えます。 合計を求めたいときはsumを使い、平均を知りたいときはaverageが使えました。平均は小数で返ってくるため、小さな差まで正確に表示できます。さらにcountを使えば、単純な数合わせや条件付きの人数カウントも可能でした。条件を使うと「何点以上の人数だけ数える」「何円以上の支出だけを対象にする」といった現場に近い集計方法が簡単に実現できます。 そしてfilterと組み合わせた応用では、「リストの中から条件に当てはまる要素だけを選び、sumやaverageで集計する」という流れがとても自然でした。条件付きの集計は実務の中でもよく必要になるため、この形を知っておくと一段と便利になります。さらに、sumOfやmapと合わせて要素の中の必要な値だけを取り出して集計する例も出てきました。データクラスを扱う場面や複数の項目を持つリストでも、迷わず扱えるようになるはずです。 Kotlinはコレクション操作に強く、日常的な集計作業が驚くほど短いコードで完結します。長いループを書いたり、変数を手動で足し合わせたりする必要がないので、コードの見通しもよく、バグが入りにくいという利点もあります。データが大きくなっても可読性を保ったまま処理できるため、後から読み返したときにも理解しやすい形になります。 ここからは、実際の集計をもう一度振り返るために、ひとつサンプルを追加しておきます。今回は家計簿のような身近なデータを使って、食費だけの合計や平均を出してみます。食費がいくつも入っている場合でも、filterで絞り込み、sumやaverageで素早く数字を出すことができます。


data class Expense(val category: String, val amount: Int)

fun main() {
    val expenses = listOf(
        Expense("食費", 22000),
        Expense("交通費", 6000),
        Expense("食費", 18000),
        Expense("光熱費", 10000),
        Expense("食費", 25000)
    )

    val foodTotal = expenses.filter { it.category == "食費" }.sumOf { it.amount }
    val foodAvg = expenses.filter { it.category == "食費" }.map { it.amount }.average()
    val countAll = expenses.count()
    val countFood = expenses.count { it.category == "食費" }

    println(foodTotal)
    println(foodAvg)
    println(countAll)
    println(countFood)
}

65000
21666.666666666668
5
3

食費の合計や平均、全体の件数や食費だけの件数まで、すべて一行の計算で求められました。数が多いと計算ミスをしやすくなりますが、sumやaverageを使えば間違えにくく、コードも短くなります。何度も同じ処理を繰り返す家計簿や売上管理でも活躍します。 また、distinctを使えば重複するカテゴリー名も整理でき、mapで必要な値だけを取り出し、sumOfで合計まで完了できます。Kotlinのコレクション操作は短く書けるのに読みやすいため、集計が身近で扱いやすい存在になっていきます。 こうしたシンプルな処理でも、実際の開発ではとても大切です。データをまとめる力が身につくと、グラフの作成やレポート機能の追加にも応用しやすくなります。難しい手順を覚える前に、まずは基本のsum・average・countを繰り返し使い、自然と手が動くように練習していくと良いでしょう。 それでは、最後に先生と生徒の会話で振り返ってみます。

先生と生徒の振り返り会話

生徒

「今日の内容を振り返ると、sumとaverageとcountを使うだけで、たくさんの数字をまとめられるって分かりました。」

先生

「その通りです。特にリストの集計は手作業で計算すると間違えやすいので、こういう関数を活用すると安心ですね。」

生徒

「filterで条件をつけてからsumOfやaverageを使うと、特定のデータだけ集計できるのも便利でした。」

先生

「その考え方はとても大切です。実際の開発では条件付きの集計が多いので、今日の書き方はそのまま使えます。」

生徒

「次はグラフの作成にも挑戦できそうです。集計できれば表示もできそうですね。」

先生

「そうですね。データをまとめる力があると、表示や分析にも広がります。ゆっくり進めていきましょう。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Kotlinでリストの合計を求めるにはどの関数を使えばいいですか?

Kotlinでリストの数値の合計を求めたいときは、sum関数を使います。IntやDoubleなど数値型のリストに対して合計値を一行で計算できます。
関連記事:
カテゴリの一覧へ
新着記事
New1
Kotlin
Kotlinの構文ルールまとめ!インデント・セミコロンなど初心者が最初に覚えるべきポイント
New2
Kotlin
Kotlinの関数ドキュメンテーションコメント(KDoc)の書き方を徹底解説!初心者でもわかる丁寧なガイド
New3
Kotlin
KotlinでHello Worldを表示するには?最初の1行を実行してみよう
New4
Go言語
Go言語の依存関係管理を始めよう!go modの基本設定と導入手順
人気記事
No.1
Java&Spring記事人気No1
Kotlin
KotlinのAPI通信でGETリクエストを送る方法!初心者向け徹底ガイド
No.2
Java&Spring記事人気No2
Go言語
Go言語の関数パラメータ!値渡しと参照渡しの違いを理解しよう
No.3
Java&Spring記事人気No3
Go言語
Go言語のテストでタイムアウト・並行処理を扱うポイント
No.4
Java&Spring記事人気No4
Swift
SwiftのURLSessionでのネットワークエラー対策!再試行とタイムアウトを初心者向けに解説
No.5
Java&Spring記事人気No5
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.6
Java&Spring記事人気No6
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.7
Java&Spring記事人気No7
Go言語
Go言語のWebアプリにおけるセキュリティベストプラクティス集
No.8
Java&Spring記事人気No8
Swift
Swift JSONデコード失敗の原因と対処|DecodingError徹底解説