Stream 里面的ifPresent用法

package test;

import java.util.ArrayList;
import java.util.List;
import java.util.Optional;

public class Test {
	public static void main(String[] args) {
		
		List<String> aa=new ArrayList();
		aa.add("aaa");
		aa.add("abbb");
		aa.add("accc");
		aa.add("ddd");
		System.out.println("原始值:"+aa);
		
	
		Optional<String> largest=aa.stream().max(String::compareToIgnoreCase);
		
		List<String> bb=new ArrayList();
		largest.ifPresent(bb::add);
		
		System.out.println("ifPresent 的用法:"+bb);
		
		
		Optional<Boolean> added=largest.map(bb::add);
		System.out.println("会有返回值处理:"+added.get());
		
	   
		
		
		
		
			
	}

}

得到的结果是:

原始值:[aaa, abbb, accc, ddd]

ifPresent 的用法:[ddd]

会有返回值处理true

    原文作者:java编程-IT
    原文地址: https://blog.csdn.net/jiangpingjiangping/article/details/76383114
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞