一、数组作为常用的数据结构,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都是内部有序的,可以方便的获取最小值。