可变参数本质上是一个数组, 他书写在方法的形参上, 让调用者传递实参时, 可以传递任意多个数据.
public 返回值类型 方法名(数据类型... 变量名){}
//JDK8之前->只能生成List集合,并且集合元素不允许"增删"
List<类型> list = Arrays.asList(元素1,元素2,元素3...);
//JDK9之后->能创建List和set集合,但集合元素不允许"增删改"
List<类型> list = List.of(元素1,元素2,元素3...);
Set<类型> set = Set.of(元素1,元素2,元素3...);
//因为快速创建的集合,不允许增删改,所以需要通过构造方法转换一次
List<类型> list = new ArrayList<>(原集合);
Set<类型> Set = new HashSet<>(原集合);
Stream流就是一个流水线,主要用于"快速操作集合和数组".
Stream<元素类型> s = 集合.stream(); //获取Collection集合的Stream流
Stream<元素类型> s = 集合.keySet().stream(); //获取Map集合中键的Stream流
Stream<元素类型> s = 集合.values().stream(); //获取Map集合中值的Stream流
Stream<元素类型> s = 集合.entrySet().stream();//获取Map集合中键值对的Stream流
Stream<元素类型> s = Stream.of(数组); //获取数组的Stream流
Stream<元素类型> s = Stream.of(元素1,元素2,...);//获取多个零散元素的Stream流
public Stream<T> filter(Predicate predicate) //用于对流中的数据进行过滤
public Stream<T> limit(long maxSize) //截取前指定参数个数的数据
public Stream<T> skip(long n) //跳过指定参数个数的数据,
public static Stream<T> concat(Stream a, Stream b) //合并a和b两个流为一个流
public Stream<T> distinct() //去除重复(根据hashcode和equals方法去除重复)
public void forEach(Consumer action) //对此流的每个元素执行操作
public long count() //获取次流中的元素的个数
public Strean<R> map(Function mapper) //把当前Stream流转换为"其他类型的Stream流"
List list = Stream流.collect(Collectors.toList()); //把Stream流转换为List集合
Set set = Stream流.collect(Collectors.toSet()); //把Stream流转换为List集合
在Java中用来表示"文件或文件夹"的类.
File封装的文件或文件夹,也可以是不存在的路径
public File(String pathname) //根据"路径名字符串"创建File
public File(String parent, String child)//根据"父路径名字符串"和"子路径名字符串"创建File
public File(File parent, String child) //根据"父路径名File"和"子路径名字符串"创建File
public boolean createNewFile();//创建空文件
public boolean mkdir(); //创建单级文件夹
public boolean mkdirs(); //创建多级文件夹
public boolean delete() //删除当前路径代表的文件或文件夹. 注意,当文件夹不为空时,不能删除文件夹
public void deleteOnExit() //当虚拟机终止时删除此文件或文件夹。
public boolean isDirectory()//判断是否为目录。
public boolean isFile() //判断是否为普通文件。
public boolean exists() //判断是否存在。
public String getAbsolutePath() //获取绝对路径
public String getParent() //获取父级路径
public String getName() //获取文件或文件夹的名字
public File[] listFiles() //获取当前文件夹中的所有文件和文件夹
public static File[] listRoots() //获取硬盘上的所有盘符
永远不发生变化的路径. 绝对路径一般是由盘符作为开始. 例如: D://aaaa//b.txt
根据参照物对比出来的路径. 相对路径不是以盘符作为开始. a.txt