Java Arrays工具类
java.util.Arrays工具类的常用方法:
1、asList
将数组转换成List,List提供了很多的操作方法,更便于使用。
public void test1(){
List<String> lists = Arrays.asList(array);
}
2、sort排序和parallelsort并行排序
sort比较常用了,根据元素按照自然排序规则排序,也可以设置排序元素的起始位置。
public void sort(){
/* Arrays.sort(array);
for(String str : array){
System.out.println(str);
}*/
Arrays.sort(array,2,5);
System.out.println(Arrays.deepToString(array));//[a, c, 1, 2, b]
}
parallelsort则采用并行的排序算法排序。
注意:sort方法会改变原始数组。
3、binarysearch(二分查找)
查找目标元素所在的位置,注意需要先进行排序。
public void binarySearch(){
//binarySearch需要保证是排好序的,否则,会产生错误结果
System.out.println(Arrays.binarySearch(array,"c"));//-6
Arrays.sort(array);
System.out.println(Arrays.binarySearch(array,"c"));//4
}
4、copyof
拷贝数组,第一种用法:如果目标长度不够,会使用0进行补位。第二种用法:支持拷贝到目标起始位置到结束为止的数组。
public void copyOf(){
//如果位数不够,需要补位
Integer[] result = Arrays.copyOf(ints,10);
for(int i : result){
System.out.println(i);
}
System.out.println("----------------------------------------->");
//如果位数够,就取最小的数组
result = Arrays.copyOf(ints,3);
for(int i : result){
System.out.println(i);
}
System.out.println("----------------------------------------->");
//
result = Arrays.copyOfRange(ints,2,4);
for(int i : result){
System.out.println(i);
}
}
5、fill
基于目标元素填充数组
public void fill(){
Arrays.fill(array,"test");
System.out.println(Arrays.deepToString(array));//[test, test, test, test, test]
}
6、equals
对比两个数组是否相等
public void equals(){
String[] array2 = new String[]{"a","c","2","1","b"};
//1 对比引用是否相同
//2 对比是否存在null
//3 对比长度是否相同
//4 挨个元素对比
System.out.println(Arrays.equals(array,array2));
}
7、toString
打印数组元素
public void string(){
System.out.println(Arrays.toString(array));//[a, c, 2, 1, b]
}
完整示例代码地址:Day25