package com.hash.stream;
import java.util.Arrays;
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;
/**
* @Auther: King
* @Date: 2021/8/19 - 08 - 19 - 9:36
* @Description: com.hash.stream
* @version: 1.0
*/
public class StreamTest {
public static void main(String[] args) {
// 生成流
// 去除为空的元素
List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");
List<String> filtered = strings.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList());
System.out.println(filtered.size()); // 5
// forEach的使用
// 新的方法 'forEach' 来迭代流中的每个数据
// 创建一个随机数
Random random = new Random();
random.ints().limit(2).forEach(System.out::println); // -1963806378 763106907
// map的使用
// map 方法用于映射每个元素到对应的结果
// 获取对应的平方数
List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
List<Integer> squaresList = numbers.stream().map( i -> i*i).distinct().collect(Collectors.toList());
squaresList.forEach(System.out::println); // 9 4 49 25
// map方法的使用2
// 用于把集合里面的元素拼凑成一个string
List<String> umbers = Arrays.asList("3", "2", "2", "3", "7", "3", "5");
String collect = umbers.stream().map(number -> number + " || ").collect(Collectors.joining("好了\n"));
System.out.println(collect);
//3 || 好了
//2 || 好了
//2 || 好了
//3 || 好了
//7 || 好了
//3 || 好了
//5 ||
// filter的使用
// filter 方法用于通过设置的条件过滤出元素。
// 获取空字符串的数量
List<String> trings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");
long count = trings.stream().filter(tring -> tring.isEmpty()).count();
System.out.println(count); // 2
// limit的使用
// limit 方法用于获取指定数量的流。
// 使用 limit 方法打印出 10 条数据
Random random1 = new Random();
random1.ints().limit(10).forEach(System.out::println);
// sorted的使用
// sorted 方法用于对流进行排序。
// sorted 方法对输出的 10 个随机数进行排序
System.out.println("10 个随机数进行排序");
Random random2 = new Random();
random.ints().limit(10).sorted().forEach(System.out::println);
}
}
java中集合的stream()(完结)
最新推荐文章于 2024-07-30 18:35:19 发布