目录
1:Arrays常用的API方法
2:API方法具体举例
(1)toString方法
(2)sort方法
(3)binarySearch方法
(4)fill方法
(5)copyOf方法
(6)copyOfRange方法
String toString(数组) 将数组拼接成一个字符串
int binarySearch(数组,查找的元素) 二分法查护元素
int[] copyOf(原数组,新数组长度) 拷贝数组
int[]copyOfRange(原数组,起始索引,结束索引) 拷贝数组(指定范围)
void fill(数组,元素) 填充数组
void sort(数组) 对数组进行排序,也可按照自己自定义的规则
package article;
import java.util.Arrays;
import java.util.*;
public class so {
public static void main(String[] args) {
int[] a= {1,55,2,41,200,7,233};
System.out.println(a);
System.out.println(Arrays.toString(a));
}
}
对于sort方法排序,如果你想要自定义规则的话,就要实现Comparator这个接口同时数据类型就要是引用数据类型的,如果是基本数据类型,则要使用包装类。
package article;
import java.util.Arrays;
import java.util.*;
public class so {
public static void main(String[] args) {
Integer[] a= {1,55,2,41,200,7,233};
System.out.println(Arrays.toString(a));
Arrays.sort(a,new Comparator() {
@Override
public int compare(Integer o1, Integer o2) {
// TODO 自动生成的方法存根
return o1-o2;
}
});
System.out.println(Arrays.toString(a));
}
}
因为binarySearch是使用的是二分法查找的,所以查找的数组必须是排好序的。查找某个在数组中存在的元素,会返回该元素所在的索引位置。如果元素不存在,返回的是该元素原本按照排序好的所在的位置-1
package article;
import java.util.Arrays;
import java.util.*;
public class so {
public static void main(String[] args) {
Integer[] a= {1,55,2,41,200,7,233};
Arrays.sort(a,new Comparator() {
@Override
public int compare(Integer o1, Integer o2) {
// TODO 自动生成的方法存根
return o1-o2;
}
});
System.out.println(Arrays.toString(a));
//查找41的索引位置
System.out.println(Arrays.binarySearch(a,41));
System.out.println(Arrays.binarySearch(a, 32));
}
}
fill方法就是将数组中的元素,可以全部变成你指定的元素,注意是全部。当然了你也可以指定范围
fill(数组,起始位置,末尾位置但是不包括它,自定义的元素).
package article;
import java.util.Arrays;
import java.util.*;
public class so {
public static void main(String[] args) {
int[] a= {1,55,2,41,200,7,233};
System.out.println(Arrays.toString(a));
Arrays.fill(a,0);
System.out.println(Arrays.toString(a));
Arrays.fill(a,3,7,10000);
System.out.println(Arrays.toString(a));
}
}
拷贝数组,并指定新数组的长度
package article;
import java.util.Arrays;
import java.lang.reflect.Array;
import java.util.*;
public class so {
public static void main(String[] args) {
int[] a= {1,55,2,41,200,7,233};
System.out.println(Arrays.toString(a));
int[] n=Arrays.copyOf(a, 3);
System.out.println(Arrays.toString(n));
}
}
拷贝数组,并且可以指定范围,第二个参数是起始索引,第二个索引是结束索引,但是拷贝的数组,不包括结束索引。
package article;
import java.util.Arrays;
import java.lang.reflect.Array;
import java.util.*;
public class so {
public static void main(String[] args) {
int[] a= {1,55,2,41,200,7,233};
System.out.println(Arrays.toString(a));
int[] n=Arrays.copyOfRange(a, 3, 5);
System.out.println(Arrays.toString(n));
}
}