Stream系列(二)Map方法使用

Stream 将List转换成新的List 对象

Stream系列(二) Map方法使用

 

EmployeeTestCase.java
package com.example.demo;

import lombok.Data;
import lombok.ToString;
import lombok.extern.log4j.Log4j2;
import org.junit.Test;

import java.util.List;
import java.util.stream.Collectors;

@Log4j2
public class EmployeeTestCase extends BaseTest{

    @Test
    public void map(){
        List<Leader> leaders = list.stream().filter(employee -> employee.getSalary() == 2000).map(employee -> {
            Leader leader = new Leader();
            leader.setName(employee.getName());
            leader.setSalary(employee.getSalary());
            return leader;
        }).p
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Stream API 是 Java 8 引入的一个功能强大且易于使用的工具,用于处理集合数据。它提供了一种函数式编程的方式来操作集合,可以通过一系列的中间操作和一个终端操作来处理数据。下面是一些常用的 Stream 方法及其使用示例: 1. filter(Predicate):根据指定的条件过滤集合中的元素。 ```java List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); List<Integer> evenNumbers = numbers.stream() .filter(n -> n % 2 == 0) .collect(Collectors.toList()); ``` 上述代码使用 filter 方法过滤出集合中的偶数,并将结果收集到一个新的集合中。 2. map(Function):将集合中的每个元素按照指定的方式进行转换。 ```java List<String> words = Arrays.asList("hello", "world"); List<Integer> wordLengths = words.stream() .map(String::length) .collect(Collectors.toList()); ``` 上述代码使用 map 方法将每个字符串转换为其长度,并将结果收集到一个新的集合中。 3. forEach(Consumer):对集合中的每个元素执行指定的操作。 ```java List<String> names = Arrays.asList("Alice", "Bob", "Charlie"); names.stream() .forEach(System.out::println); ``` 上述代码使用 forEach 方法打印出集合中的每个元素。 4. sorted():对集合中的元素进行排序。 ```java List<Integer> numbers = Arrays.asList(5, 2, 3, 1, 4); List<Integer> sortedNumbers = numbers.stream() .sorted() .collect(Collectors.toList()); ``` 上述代码使用 sorted 方法对集合中的元素进行排序,并将结果收集到一个新的集合中。 5. findFirst():查找集合中符合指定条件的第一个元素。 ```java List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); Optional<Integer> firstEvenNumber = numbers.stream() .filter(n -> n % 2 == 0) .findFirst(); ``` 上述代码使用 findFirst 方法找到集合中的第一个偶数。 这些只是 Stream API 中的一部分方法,还有许多其他方法可用于处理集合数据。你可以根据具体的需求选择适合的方法来进行操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值