Java-stream流最常见4种用法

本文介绍了Java中StreamAPI的使用,包括filter方法过滤流、forEach方法遍历流以及将List转换为Map和List<String>的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.filter过滤

public class Stream_ForEach {
    public static void main(String[] args) {
    //获取一个Stream流
    Stream<String>stream= Stream.of("张三","李四","王五","赵六");
        //使用Stream流的方法forEach对stream流中的数据遍历
        stream.forEach((String name)->{
            System.out.println(name);
        });
    }
}

2.forEach遍历

public class Stream_ForEach {
    public static void main(String[] args) {
    //获取一个Stream流
    Stream<String>stream= Stream.of("张三","李四","王五","赵六");
        //使用Stream流的方法forEach对stream流中的数据遍历
        stream.forEach((String name)->{
            System.out.println(name);
        });
    }
}

3. List结构转换Map结构

public class Stream_List_Map {
    public static void main(String[] args) {
        List<Test> testList = new ArrayList<Test>();
        testList.add(new Test("张三",23,new BigDecimal("3000"),new BigDecimal("1.1")));
        testList.add(new Test("李四",24,new BigDecimal("2800"),new BigDecimal("1.2")));
        testList.add(new Test("王五",22,new BigDecimal("3200"),new BigDecimal("1.3")));
        //根据姓名转map,map的key为name
        Map<String, Test> nameMap= testList.stream().collect(Collectors.toMap(Test::getName, Test -> Test);
        System.out.println(map);
    }
}

4. List<Object>对象转List<String>

 
public class Stream_object_string {
    public static void main(String[] args) {
        List<Test> testList = new ArrayList<Test>();
        testList.add(new Test("张三",23,new BigDecimal("3000"),new BigDecimal("1.1")));
        testList.add(new Test("李四",24,new BigDecimal("2800"),new BigDecimal("1.2")));
        testList.add(new Test("王五",22,new BigDecimal("3200"),new BigDecimal("1.3")));
        //获取姓名集合
        List<String> nameList = testList.stream().map(Test::getName()).collect(Collectors.toList());
        System.out.println("value:"+nameList);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值