- 従業員クラスの作成: まず、従業員を表すクラスを作成します。このクラスには、名前と給与のフィールドが含まれている必要があります。
public class Employee {
private String name;
private double salary;
// コンストラクタ、ゲッター、セッターなどの必要なメソッドを実装する
}
- 従業員リストの作成: 次に、従業員のリストを作成します。ここでは、例としていくつかの従業員を追加します。
List<Employee> employees = new ArrayList<>();
employees.add(new Employee("John Doe", 5000.0));
employees.add(new Employee("Alice Smith", 6000.0));
employees.add(new Employee("Bob Johnson", 4000.0));
// 他の従業員を追加する
- 名前でソートする方法: 従業員リストを従業員の名前でソートするには、以下のようにStream APIを使用します。
List<Employee> sortedByName = employees.stream()
.sorted(Comparator.comparing(Employee::getName))
.collect(Collectors.toList());
上記のコードでは、Comparator.comparing
メソッドを使用して従業員の名前を比較し、sorted
メソッドを使用してソートします。
- 給与でソートする方法: 従業員リストを給与でソートするには、以下のようにStream APIを使用します。
List<Employee> sortedBySalary = employees.stream()
.sorted(Comparator.comparing(Employee::getSalary))
.collect(Collectors.toList());
上記のコードでは、Comparator.comparing
メソッドを使用して従業員の給与を比較し、sorted
メソッドを使用してソートします。
- 名前と給与でソートする方法: 従業員リストを名前と給与の両方でソートするには、以下のようにStream APIを使用します。
List<Employee> sortedByBoth = employees.stream()
.sorted(Comparator.comparing(Employee::getName).thenComparing(Employee::getSalary))
.collect(Collectors.toList());
上記のコードでは、Comparator.comparing
メソッドとthenComparing
メソッドを使用して、名前で比較し、同じ名前の場合は給与で比較します。
これらの例では、Stream APIのsorted
メソッドを使用してリストをソートし、collect
メソッドを使用してソート済みのリストを取得しています。
以上がJava 8 Stream APIを使用して従業員の名前と給与でソートする方法の例です。他にもさまざまな方法がありますが、これらの例を参考にしてください。