16.Files的常用方法都有哪些?
Files.exists():检测文件路径是否存在
Files.createFile():创建文件
Files.createDirectory():创建文件夹
Files.delete():删除一个文件或目录
Files.copy():复制文件
Files.move():移动文件
Files.size():查看文件个数
Files.read():读取文件
Files.write():写入文件
17.Java容器都有哪些?
Java容器分为Collection和Map两大类,其下又有很多子类
Collection
List
ArrayList
LinkedList
Vector
Stack
Set
HashSet
LinkedHashSet
TreeSet
Map
HashMap
LinkedHashMap
TreeMap
ConcurrentHashMap
Hashtable
18.Collecton和Collections有什么区别?
Conllection是一个集合接口,它提供了对集合对象进行基本操作的通用接口方法,所有集合都是它的子类,比如List,Set等。
Collections是一个包装类,包含了很多静态方法,不能被实例化,就像一个工具类,比如提供的排序方法:Collections.sort(list)。
19.List,Set,Map之间的区别是什么?
Set:无须不重复
List:有序可重复
Map:存储数据是无序的,但key是不重复的,value是可重复的
20.HashMap和Hashtable有什么区别?
存储:HashMap允许key和value为null,而Hashtable不允许。
线程安全:Hashtable是线程安全的,而HashMap是非线程安全的。
推荐使用:在Hashtable的类注释可以看到,Hashtable是保留类不建议使用,推荐在单线程环境下使用HashMap替代,如果需要多线程使用则用ConcurrentHashMap替代。