Java 8 Stream APIを使用した性別と年齢が30歳以上の従業員のソート方法


  1. 従業員クラスの作成: まず、従業員を表すEmployeeクラスを作成します。このクラスには、従業員の名前、性別、年齢などの属性が含まれます。
public class Employee {
    private String name;
    private String gender;
    private int age;
    // コンストラクタ、ゲッター、セッターなどの必要なメソッドを追加する
}
  1. 従業員リストの作成: 従業員のリストを作成し、いくつかのサンプルデータを追加します。
List<Employee> employeeList = new ArrayList<>();
employeeList.add(new Employee("John", "Male", 35));
employeeList.add(new Employee("Emma", "Female", 28));
employeeList.add(new Employee("Michael", "Male", 40));
// 他の従業員を追加する
  1. Streamを使用したソートとフィルタリング: Java 8のStream APIを使用して、従業員リストをソートし、性別と年齢が条件を満たす従業員をフィルタリングします。
List<Employee> sortedEmployees = employeeList.stream()
    .filter(employee -> employee.getAge() > 30) // 年齢が30歳より上の従業員をフィルタリング
    .sorted(Comparator.comparing(Employee::getGender)) // 性別でソート
    .collect(Collectors.toList());

上記のコードでは、filterメソッドを使用して年齢が30歳より上の従業員をフィルタリングし、sortedメソッドを使用して性別でソートしています。最後に、collectメソッドを使用して結果をリストとして収集します。

  1. ソート結果の表示: 最後に、ソートされた結果を表示します。
for (Employee employee : sortedEmployees) {
    System.out.println(employee.getName() + " - " + employee.getGender() + " - " + employee.getAge());
}

上記のコードでは、従業員の名前、性別、年齢を表示しています。

これで、Java 8のStream APIを使用して性別と年齢が30歳以上の従業員をソートする方法がわかりました。この方法を使用すると、コンパクトで効率的なコードを書くことができます。他にもJava 8のStream APIにはさまざまな便利なメソッドがありますので、さらに学習して活用してみてください。