Java 8新特性:流(Stream)与Lambda表达式使用案例

原创 太过爱你忘了你带给我的痛 2024-11-24 16:45 109阅读 0赞

在Java 8中,引入了新的流(Stream)处理方式以及Lambda表达式,大大提高了代码的简洁性和可读性。以下是一些使用案例:

  1. 筛选数组

    1. List<String> fruits = Arrays.asList("Apple", "Banana", "Orange");
    2. List<String> juicyFruits = fruits.stream()
    3. .filter(fruit -> fruit.contains("juicy"))) //Lambda表达式
    4. .collect(Collectors.toList()));
  2. 排序和分组
    ```java
    Map bookSales = new HashMap<>();
    bookSales.put(“Java”, 100);
    bookSales.put(“Python”, 50);
    bookSales.put(“JavaScript”, 75);

List>> sortedSales = bookSales.entrySet().stream()
.sorted(Map.Entry.comparingByValue().reversed())) //Lambda表达式
.collect(Collectors.toList()));

for (Map.Entry entry : sortedSales) {
System.out.println(“Book: “ + entry.getKey() + “, Sales: “ + entry.getValue());
}

  1. 3. **并行计算**:
  2. ```java
  3. List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
  4. // 使用parallelStream进行并行处理
  5. List<List<Integer>>> subLists = numbers.parallelStream()
  6. .collect(Collectors.groupingBy(i -> i / 2), Collectors.toList())) //Lambda表达式
  7. for (List<List<Integer>> sublist : subLists) {
  8. System.out.println("Sublist: " + sublist.size() + ", Elements: ");
  9. for (List<Integer> element : sublist) {
  10. System.out.print("- " + element.stream().mapToObj(Integer::valueOf)).collect(Collectors.joining(", ")) + "\n");
  11. }
  12. }

这些案例展示了Lambda表达式和Stream API在Java 8中的强大应用。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,109人围观)

还没有评论,来说两句吧...

相关阅读