Java8中Stream流式处理案例
1.快速合并List集合中的元素
import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; public class Test { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("CC"); list.add("BB"); list.add("DD"); String out = list.stream().collect(Collectors.joining(",")); System.out.println(out); } }
运行结果如下:
CC,BB,DD
2.转换List集合中的元素(使用Map映射)
import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; public class Test { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("CC"); list.add("BB"); list.add("DD"); //映射操作:map String out = list.stream().map(s -> { return s + s; }).collect(Collectors.joining(",")); System.out.println(out); } }
运行结果如下:
CCCC,BBBB,DDDD
3.过滤List集合中的空元素(使用filter过滤)
import org.apache.commons.lang3.StringUtils; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; public class Test { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("CC"); list.add("BB"); list.add("DD"); list.add(null); //映射操作:map String out = list.stream().filter(s -> StringUtils.isNotBlank(s)).collect(Collectors.joining(",")); System.out.println(out); } }
运行结果如下:
CC,BB,DD
4.判断List集合中是否包含某一元素
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
String value = "ccc";
boolean bool = list.stream().anyMatch(s -> s.equals(value));
System.out.println(bool);
}
}
5.返回List集合中第一个匹配的元素否则返回null
import java.util.ArrayList; import java.util.List; public class Test { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("aaa"); list.add("bbb"); list.add("ccc"); list.add("ddd"); String value = "eee"; String out = list.stream().filter(s -> s.equals(value)).findFirst().orElse(null); System.out.println(out); } }
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号