2章コレクションの使用

シャワーを浴びる程度の間でプログラム全体の構造を把握できないのであれば、まだコーディングを始める時ではない。

――Richard Pattis

数値、文字列、そしてオブジェクトのコレクションは頻繁に使われます。そのため、コレクション処理のコードから「儀式」をたとえ少しでも省くことができれば、乱雑さを大幅に減らすことができます。本章では、ラムダ式を使ったコレクションの処理方法を紹介します。ラムダ式を使ってコレクションをイテレートし、新たなコレクションに変換し、要素を抽出し簡単に結合します。

本章を読み終える頃には、コレクションを処理するJavaコードは全く違うものになっていることでしょう。今までになく簡潔で表現力に富みエレガントで、より拡張可能なコードになっているはずです。

2.1 リストをイテレート

リストのイテレートはコレクション処理の基本です。しかし、ここ数年でこの基本にいくつかの大きな変更がありました。ここでは、名前のリストの要素を列挙します。まず従来の方法でコードを書き始めて、それを徐々にエレガントに進化させていきます。

まず、人名のリストを持つ不変コレクションを簡単に生成しておきます。

final List<String> friends =
  Arrays.asList("Brian", "Nate", "Neal", "Raju", "Sara", "Scott");

例2-1はこのリストをイテレートし各要素を出力する従来の方法です。あまり好ましいものではありません。

例2-1 collections/fpij/Iteration.java

for(int i = 0; i < friends.size(); i++) { System.out.println(friends.get(i)); ...

Get Javaによる関数型プログラミング ―Java 8ラムダ式とStream now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.