一、数组作为常用的数据结构,jdk在Arrays工具类中提供了很多有用的算法,并且根据不同的基本数据类型都有相应的重载,这里只列举名称。
| 接口 |
功能 |
说明 |
| asList |
将数组转换为List |
|
| binarySearch |
二分查找 |
入参必须有序,可以找到返回值》=0,否则返回小于0的值,不一定是-1 |
| copyOf |
从源数组进行复制 |
会截断或者扩充 |
| copyOfRange |
从源数据进行范围复制 |
|
| deepEquals |
多维数组的等值判断 |
|
| deepHashCode |
多维数组的哈希值 |
|
| deepToString |
多维数组的toString |
|
| equals |
根据内容判断两个基本类型数组是否相等 |
|
| fill |
将数组填充为初始值 |
|
| hashCode |
根据类型生成基本类型数组的哈希值 |
如果要生成数组的哈希值,需要使用这个函数,而不是直接在数组上取哈希 |
| parallelSort |
并发排序 |
|
| sort |
排序 |
|
二、列表同样是常用的数据结构,jdk在Collections工具类中也提供了很多有用的算法,当然这里的数据类型都是对象,所以不需要重载,但需要重写。
| 接口 |
功能 |
说明 |
| addAll |
将元素添加到列表 |
|
| binarySearch |
二分查找 |
查找的列表必须有序,找到值则返回index,否则返回负值,不默认为-1。 |
| copy |
将元素在两个别表中同步 |
|
| disjoint |
判断两个列表是否有相同的元素 |
|
| emptyList |
生成空列表 |
|
| fill |
将列表按指定值填充 |
|
| frequency |
返回指定值在列表中的次数 |
|
| replaceAll |
将列表中的旧值替换为新值 |
|
| sort |
升序排列列表元素 |
|
| synchronized* |
返回线程安全的列表包装类 |
|
| unmodifiable* |
返回不可修改的列表包装类 |
|
三、Path是java nio中添加的很重要的类,通过Paths构造Path。
| 接口 |
功能 |
说明 |
| get |
根据字符串返回Path对象 |
|
| get |
根据URI返回Path对象 |
|
Files同样是java nio中提供的强大的文件工具类。
| 接口 |
功能 |
说明 |
| copy |
两个文件间的复制 |
|
| createDirectories |
创建目录 |
|
| createFile |
创建文件 |
|
| createLink |
创建引用 |
|
| createTempDirectory |
创建临时目录 |
|
| createTempFile |
创建临时文件 |
|
| delete |
删除文件 |
|
| exists |
判断文件是否存在 |
|
| find |
按照接口查找文件 |
|
| lines |
读取文件的所有行 |
|
| move |
移动文件 |
|
| isDirectory |
判断是否是目录 |
|
| newBufferedReader |
创建BufferedReader |
|
| probeContentType |
判断文件内容 |
|
| readAllLines |
读取所有的行 |
|
| setLastModifiedTime |
设置最后时间 |
|
| size |
返回文件大小 |
|
四、其他
Objects
| 接口 |
功能 |
说明 |
| compare |
根据提供的策略判断两个对象是否相等 |
|
| deepEquals |
根据对象的实现来判断对象是否相等 |
|
| hash |
计算多个输入的哈希值 |
|
TreeMap和TreeSet都是内部有序的,可以方便的获取最小值。
