Stream流

简介: Stream流

Stream流是处理集合的一种响应式编程

一、方法

1.1、filter()

List<String> list = Arrays.asList("Hello","World","Java");
List<Integer> intList = Arrays.asList(2,1,4,5,6,3);
/**
* filter() 过滤方法参数是 Predicate 条件 也可以直接传入larmd表达式
* .collect(Collectors.toList()); 返回一个新的集合
*
*/
List<String> collect = list.stream()
    .filter(str -> str.length() >= 5)
    .collect(Collectors.toList());
System.out.println(collect); // [Hello, World]

1.2、limit()

List<String> list = Arrays.asList("Hello","World","Java");
List<Integer> intList = Arrays.asList(2,1,4,5,6,3);
/**
 * limit() 方法截取数组中的前几位元素
 * .limit(2) 截取数组中的前两个元素
 *
 */
list.stream()
        .limit(2)
        .forEach(str -> System.out.println(str)); // HelloWorld

1.3、sorted()

List<String> list = Arrays.asList("Hello","World","Java");
List<Integer> intList = Arrays.asList(2,1,4,5,6,3);
/**
 * sorted()方法排序 默认是升序
 * .sorted(Comparator.reverseOrder())  降序 排序
 */
intList.stream()
        .sorted(Comparator.reverseOrder())
        .forEach(num -> System.out.println(num));
// 输出最大
// max(Integer::compareTo) 参数的意思为,以Integer方式进行排序
System.out.println(intList.stream()
        .max(Integer::compareTo).get());
// 输出最下
System.out.println(intList.stream()
        .min(Integer::compareTo).get());
// 输出集合长度
System.out.println(intList.stream().count());

1.4、map()

List<String> list = Arrays.asList("Hello","World","Java");
List<Integer> intList = Arrays.asList(2,1,4,5,6,3);
/**
 * map() 对数组中的元素进行操作
 */
List<Integer> collect = intList.stream()
        .map(num -> num + 10)
        .collect(Collectors.toList());
System.out.println(collect);

1.5、reduce()

List<String> list = Arrays.asList("Hello","World","Java");
List<Integer> intList = Arrays.asList(2,1,4,5,6,3);
/**
 * reduce() 方法 返回的是一个值,
 * 以数字数组集合为例
 * 参数是在 传了两个值 sum,num
 * sum为要累加的和的值 num为数组中的每个元素
 */
System.out.println(intList.stream()
        .reduce((sum, num) -> sum += num).get());

1.6、collect()

List<String> list = Arrays.asList("Hello","World","Java");
List<Integer> intList = Arrays.asList(2,1,4,5,6,3);
 /**
 * collect() 方法 基于目标集合生成一个新的集合
 */
System.out.println(intList.stream()
        .filter(num -> num % 2 == 0)
        .collect(Collectors.toList()));


相关文章
|
1月前
|
存储 JavaScript 网络协议
Stream
【10月更文挑战第22天】
29 1
|
6月前
|
存储 Java API
Stream流
Stream流
63 1
|
6月前
|
Java 容器
Stream 流常见基本操作
Stream 流常见基本操作
|
5月前
|
API
Stream流知识
Stream流知识
31 0
|
5月前
|
存储 Java API
Java——Stream流(1/2):Stream流入门、Stream流的创建(认识Stream、体验Stream流、Stream流的使用步骤、获取Stream流的方法)
Java——Stream流(1/2):Stream流入门、Stream流的创建(认识Stream、体验Stream流、Stream流的使用步骤、获取Stream流的方法)
82 0
java流是指在Java中用来读写数据的一组有序的数据序列,它可以将数据从一个地方带到另一个地方。java流分为输入流和输出流,输入流是从源读取数据的流,而输出流是将数据写入到目的地的流。Java流又可以分为字节流和字符流,字节流读取的最小单位是一个字节(1byte=8bit),而字符流一次可以读取一个字符(1char = 2byte = 16bit)。Java流还可以分为节点流和处理流,节点流是直接从一个源读写数据的流(这个流没有经过包装和修饰),处理流是在对节点流封装的基础上的一种流。
123 0
|
Java
stream流操作
stream流操作
74 0
|
6月前
|
Java
Stream流教程
Stream流教程
68 0
|
Java
stream流分组
stream流分组
88 0