java 8 Stream().map()使用

本文深入探讨了Java8中Stream API的map()方法应用,通过具体案例展示了如何从User对象集合中提取电话号码,以及如何使用自定义接口和lambda表达式处理字符串数组,实现了查找特定元素的功能。
摘要由CSDN通过智能技术生成

java8 map()学习

map()简单使用
	/**
	* User对象集合中,取出User的电话号码
	**/
	class StreamMap{
		public List<String> getUserPhone(List<User> users){
			//取出User中的phone集合,返回
			return users.stream().map(User::getPhone).collect(Collectors.toList());
		}
	}

	/**
	* 定义User实体类 
	* 这里使用Lambok,编译阶段自动生成get/set方法
	**/
	@Data
	class User{
		private String name;
		private String phone;
		private Integer age;
	}
map()面向接口
class JavaStream {

    private static String isApple() {

        String[] appleList = {"栗子", "石榴", "大苹果", "石头", "馒头"};

        Apples apples = var -> var.equals("苹果") ? "苹果" : "不是苹果";

        //map(可以将List中的每个元素传入接口函数) map(x -> apples.getApple(x)) >> 简化 >> map(apples::getApple)
        //1.filter(过滤List中的元素,调用StringUtils中的函数进行判断过滤)
        //2.filter(元素直接使用自定义判定)
        //findFirst(取出过滤后List中的第一个)
        //orElse(若过滤后为空,无符合.则取此值)
        return Arrays.stream(appleList).map(apples::getApple)
                .filter(StringUtils::isNotEmpty) //1
                .filter(x -> x.equals("苹果"))  //2
                .findFirst()
                .orElse("没有苹果");
    }


    public static void main(String[] args) {
        String apple = JavaStream.isApple();
        System.out.println(apple);
    }


}

interface Apples {
    String getApple(String var);
}
以上就是java8 map()函数的学习梳理.(未完待续)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值