2.Stream流
2.1 概述
概述: Stream是一种专门快速操作集合的技术. JDK8之后才可以使用.
注意:
1.Stream流的操作不能改变源数据.
2.Stream流只能操作一次.
3.每个Stream流最终都必须有"终结方法".
2.2 获取
Stream<T> s = Stream.of(T...); //"多个普通数据"获取Stream流
Stream<T> s = Stream.of(数组); //"数组"获取Stream流
Stream<T> s = 集合对象.stream(); //"单列集合"获取Stream流
Stream<T> s = Map集合.keySet().stream(); //"Map集合的键"获取Stream流
Stream<T> s = Map集合.values().stream(); //"Map集合的值"获取Stream流
Stream<T> s = Map集合.entrySet().stream(); //"Map集合的键值对"获取Stream流
2.3 操作
public Stream<T> filter(Predicate predicate) //用于对流中的数据进行过滤(参数内部,返回值为false则丢掉,为true则留下)
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 Stream map(Function f); //把Stream转换为其他类型的Stream
2.4 转换
List<T> list = Stream流.collect(Collectors.toList()); //把Stream流转换为List集合
Set<T> set = Stream流.collect(Collectors.toSet()); //把Stream流转换为List集合
1.File类
1.1 概述
概念:
在Java中用来表示"文件或文件夹"的类.
File封装的文件或文件夹,也可以是不存在的路径
构造:
public File(String pathname) //根据"路径名字符串"创建File
public File(String parent, String child)//根据"父路径名字符串"和"子路径名字符串"创建File
public File(File parent, String child) //根据"父路径名File"和"子路径名字符串"创建File
1.2 常用方法
创建功能
public boolean createNewFile();//创建空文件
public boolean mkdir(); //创建单级文件夹
public boolean mkdirs(); //创建多级文件夹
删除功能
public boolean delete() //删除当前路径代表的文件或文件夹.可以理解为是自杀. 注意,删除文件夹时,只能删除空文件夹.
判断功能
public boolean isDirectory()//判断是否为文件夹。如果是则返回true, 如果不是或不存在,则返回false
public boolean isFile() //判断是否为普通文件。如果是则返回true, 如果不是或不存在,则返回false
public boolean exists() //判断是否存在。
获取功能
public String getAbsolutePath() //获取绝对路径
public String getParent() //获取父级路径
public String getName() //获取文件或文件夹的名字
高级获取
public File[] listFiles() //获取当前文件夹中的所有文件和文件夹
public static File[] listRoots() //获取硬盘上的所有盘符
3.3 路径问题
相关概念:
绝对路径: 永远不发生变化的路径. 绝对路径一般是由盘符作为开始. 例如: D://aaaa//b.txt
相对路径: 根据参照物对比出来的路径. 相对路径不是以盘符作为开始. a.txt
注意事项:
1.Java项目中的相对路径参照物都是"当前项目".
2.Java项目任何书写路径的地方,都可以书写"绝对路径",也可以书写"相对路径".
3.相对路径和绝对路径的概念,仅限于当前Java项目.(在JavaWeb阶段,参照物会发生变化)
浙公网安备 33010602011771号