特点:
?生成Stream流的方式
1、Collection体系集合
List<String> list = new ArrayList<String>();
Stream<String> listStream = list.stream();
Set<String> set = new HashSet<String>();
Stream<String> setStream = set.stream();
2、Map体系集合
Map<String,Integer> map = new HashMap<String, Integer>();
Stream<String> keyStream = map.keySet().stream();
Stream<Integer> valueStream = map.values().stream();
Stream<Map.Entry<String, Integer>> entryStream = map.entrySet().stream();
3、数组
String[] strArray = {"hello","world","java"};
Stream<String> strArrayStream = Arrays.stream(strArray);
4、同种数据类型的多个数据:通过Stream接口的静态方法of(T... values)生成流
Stream<String> strArrayStream2 = Stream.of("hello", "world", "java");
Stream<Integer> intStream = Stream.of(10, 20, 30);
?
**可变参数:修饰符 返回值类型 方法名(数据类型… 变量名) { ?}
**创建不可变集合(不能添加,不能删除,不能修改)
1、创建一个具有指定元素的List集合对象。
//static <E> List<E> of(E…elements)
List<String> list = List.of("a", "b", "c", "d");
2、创建一个具有指定元素的Set集合对象。
//static <E> Set<E> of(E…elements)
Set<String> set = Set.of("a", "b", "c", "d","a");
3、创建一个具有指定元素的Map集合对象。
//static <K , V> Map<K,V> of(E…elements)
① Map<String, String> map = Map.ofEntries(
Map.entry("zhangsan", "江苏"),
Map.entry("lisi", "北京"));
②Map<String, String> map = Map.of("zhangsan",
"江苏", "lisi", "北京", "wangwu", "天津");
流中间操作方法:
方法名 | 说明 |
---|
Stream<T> filter(Predicate predicate) | 用于对流中的数据进行过滤 | Stream<T> limit(long maxSize) | 返回此流中的元素组成的流,截取前指定参数个数的数据 | Stream<T> skip(long n) | 跳过指定参数个数的数据,返回由该流的剩余元素组成的流 | static <T> Stream<T> concat(Stream a, Stream b) | 合并a和b两个流为一个流 | Stream<T> distinct() | 返回由该流的不同元素(根据Object.equals(Object) )组成的流 |
流终结操作方法:
——终结操作的意思是,执行完此方法之后,Stream流将不能再执行其他操作
方法名 | 说明 |
---|
void forEach(Consumer action) | 对此流的每个元素执行操作 | long count() | 返回此流中的元素数 |
流的收集操作:
——对数据使用Stream流的方式操作完毕后,可以把流中的数据收集到集合中
方法名 | 说明 |
---|
R collect(Collector collector) | 把结果收集到集合中 |
******工具类Collectors提供了具体的收集方式
方法名 | 说明 |
---|
public static <T> Collector toList() | 把元素收集到List集合中 | public static <T> Collector toSet() | 把元素收集到Set集合中 | public static Collector toMap(Function keyMapper,Function valueMapper) | 把元素收集到Map集合中 |
|