- 従業員クラスの作成: まず、従業員を表すEmployeeクラスを作成します。このクラスには、従業員の名前、性別、年齢などの属性が含まれます。
public class Employee {
private String name;
private String gender;
private int age;
// コンストラクタ、ゲッター、セッターなどの必要なメソッドを追加する
}
- 従業員リストの作成: 従業員のリストを作成し、いくつかのサンプルデータを追加します。
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));
// 他の従業員を追加する
- 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
メソッドを使用して結果をリストとして収集します。
- ソート結果の表示: 最後に、ソートされた結果を表示します。
for (Employee employee : sortedEmployees) {
System.out.println(employee.getName() + " - " + employee.getGender() + " - " + employee.getAge());
}
上記のコードでは、従業員の名前、性別、年齢を表示しています。
これで、Java 8のStream APIを使用して性別と年齢が30歳以上の従業員をソートする方法がわかりました。この方法を使用すると、コンパクトで効率的なコードを書くことができます。他にもJava 8のStream APIにはさまざまな便利なメソッドがありますので、さらに学習して活用してみてください。