溫馨提示×

java stream.collect在實際項目中的應用案例

小樊
87
2024-09-05 16:25:03
欄目: 編程語言

stream.collect 是 Java Stream API 中的一個非常有用的方法,它可以將流中的元素收集到不同類型的集合中,如列表、集合或映射。在實際項目中,stream.collect 可以用于處理和轉換數(shù)據(jù),以滿足特定需求。以下是一些使用 stream.collect 的實際項目案例:

  1. 將員工列表按照部門進行分組:
Map<Department, List<Employee>> employeesByDepartment = employees.stream()
    .collect(Collectors.groupingBy(Employee::getDepartment));
  1. 計算每個員工的年齡,并將其存儲在一個新的列表中:
List<Integer> ages = employees.stream()
    .map(Employee::getAge)
    .collect(Collectors.toList());
  1. 將字符串列表轉換為大寫形式,并用逗號連接:
String upperCaseWords = words.stream()
    .map(String::toUpperCase)
    .collect(Collectors.joining(","));
  1. 從員工列表中獲取年齡最大的員工:
Optional<Employee> oldestEmployee = employees.stream()
    .collect(Collectors.maxBy(Comparator.comparing(Employee::getAge)));
  1. 將員工列表按照年齡進行排序,并將其存儲在一個新的列表中:
List<Employee> sortedEmployees = employees.stream()
    .sorted(Comparator.comparing(Employee::getAge))
    .collect(Collectors.toList());
  1. 將員工列表中的所有姓名轉換為小寫,并存儲在一個集合中:
Set<String> lowerCaseNames = employees.stream()
    .map(Employee::getName)
    .map(String::toLowerCase)
    .collect(Collectors.toSet());

這些案例展示了 stream.collect 在實際項目中的多種應用場景。通過使用 stream.collect,我們可以輕松地對數(shù)據(jù)進行轉換、分組和排序等操作。

0