Java 8新特性:流和函数式编程实例

原创 桃扇骨 2024-10-09 09:39 207阅读 0赞

在Java 8中,引入了新的流(Stream)处理方式以及函数式编程的一些特性。以下是一些实例:

  1. 流的创建

    1. List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
    2. List<Integer> ages = IntStream.range(20, 61)
    3. .mapToObj(age -> age))
    4. .collect(Collectors.toList());

    这里使用IntStream.range()创建年龄流,然后使用mapToObj()将每个年龄映射到一个对象,最后收集为列表。

  2. 流的操作
    ```java
    // 求和
    Integer totalAge = ages.stream()
    .mapToInt(age -> age))
    .sum();

// 查找特定元素
Optional alice = names.stream()
.filter(name -> name.equals(“Alice”))))
.findFirst();

// 去重并排序
List sortedNames = names.stream()
.collect(Collectors.toSet()))
.sorted();

  1. 这里分别对年龄流进行了求和、查找特定元素的操作,以及去重并排序操作。
  2. 3. **lambda表达式**:
  3. Java 8引入了lambda表达式,使得代码更加简洁明了。例如:
  4. ```java
  5. // 简化过滤条件
  6. names = names.stream()
  7. .filter(n -> n.startsWith("A"))))
  8. .collect(Collectors.toList());

这里直接使用lambda表达式简化了过滤条件的编写。

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

发表评论

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

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

相关阅读