java 8 Stream().map()使用

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()函数的学习梳理.(未完待续)

你可能感兴趣的:(java8)