- 可变参数:(即参数个数可变)
- 可变参数底层结构数组类型
- 当一个方法有多个参数时,可变参数必须放在最后面
- list.of 、set.of、map.of 快速生成不可变集合,不可进行增删改,jdk9版本可用
- Stream流:即筛选的意思(主要是操作文件)
- 流程即 获取 – 筛选 – 收集 – 终结
- 单列集合: 可以使用collection接口默认方法 对象名直接调用Stream方法
- 双列集合:不可直接调用,先通过keyset或entryset,获得键集合或者键值对集合对象,返回值类型为set 即间接流
- 数组:可以直接通过Arrays直接调用Stream,将数组作为参数传进去,生成流
- Stream流中间操作方法:
public class demo1 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
Stream<String> stream = list.stream();
HashSet<String> set = new HashSet<>();
set.add("5");
set.add("5");
set.add("5");
set.add("8");
Stream<String> stream1 = set.stream();
list.stream().filter(number->number.startsWith("1")).forEach(s-> System.out.println(s));
Stream<String> limit = list.stream().limit(2);
System.out.println(limit);
list.stream().skip(3).forEach(s-> System.out.println(s));
Stream<String> concat = Stream.concat(stream, stream1);
concat.forEach(s-> System.out.println(s));
Stream<String> distinct = set.stream().distinct();
distinct.forEach(s-> System.out.println(s));
}
}
public class demo2 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.stream().forEach(s-> System.out.println(s));
long count = list.stream().count();
System.out.println(count);
}
}
public class demo2 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("4");
List<String> collect = list.stream().collect(Collectors.toList());
System.out.println(collect);
Set<String> collect1 = list.stream().collect(Collectors.toSet());
System.out.println(collect1);
}
}