JAVA中stream流的基础处理方法有哪些
更新时间:2023-12-14什么是Stream流
Stream是Java 8提供的一个新的抽象层,通过使用Stream可以简化集合的处理、聚合、过滤、映射等操作。Stream流可以并行化处理大量数据,提高程序的执行效率。Stream流并不存储数据,而是操作数据源后将结果返回。
流的基础方法
Stream流提供了许多基础的方法,用于对数据集合进行不同类型的处理。下面介绍几个常用的基础处理方法:
1. filter()
filter()方法用于过滤流中的元素,只保留符合条件的元素。它接受一个Predicate函数式接口作为参数,该接口用于判断元素是否符合条件。
Listnumbers = Arrays.asList(1, 2, 3, 4, 5); List evenNumbers = numbers.stream() .filter(n -> n % 2 == 0) .collect(Collectors.toList()); // 输出结果:[2, 4]
2. map()
map()方法用于对流中的元素执行某个操作,并将结果返回。它接受一个Function函数式接口作为参数,该接口用于定义操作的逻辑。
Listnames = Arrays.asList("Tom", "Jerry", "Alice"); List upperCaseNames = names.stream() .map(String::toUpperCase) .collect(Collectors.toList()); // 输出结果:["TOM", "JERRY", "ALICE"]
3. distinct()
distinct()方法用于去除流中的重复元素,只保留唯一的元素。它根据元素的equals()方法来判断元素是否相等。
Listnumbers = Arrays.asList(1, 2, 2, 3, 3, 3); List distinctNumbers = numbers.stream() .distinct() .collect(Collectors.toList()); // 输出结果:[1, 2, 3]
4. sorted()
sorted()方法用于对流中的元素进行排序,默认是按照元素的自然顺序进行排序。它可以接受一个Comparator函数式接口作为参数,自定义排序规则。
Listnumbers = Arrays.asList(4, 2, 5, 1, 3); List sortedNumbers = numbers.stream() .sorted() .collect(Collectors.toList()); // 输出结果:[1, 2, 3, 4, 5]
总结
Stream流的基础处理方法包括filter()、map()、distinct()和sorted()等。这些方法分别用于过滤元素、对元素进行操作、去除重复元素和排序。通过使用这些方法,可以方便地对数据集合进行各种操作和处理。同时,Stream流还提供了许多其他的方法,如reduce()、collect()等,可以根据具体的需求进行使用。