一、数组的复制
Arrays.copyOf()方法是复制数组至指定长度。语法:int newArr[] = Arrays.copyOf(arr,3);
复制源数组中从下标0开始的3个元素到目的数组,从下标0的位置开始存储
import java.util.Arrays;
public
class
TestArray{
public
static
void
main(
String
args[]){
int
arr3[] = {
1,
2,
3,
4,
5,
6};
int
a[]=
Arrays.
copyOf(arr3,
3);
for(
int
i =
0;i<
a.
length;i++){
System.
out.
println(a[i]);
}
}
}
结果是:1 2 3
二、数组的填充
Arrays.fill()方法。对数组中的元素进行替换。语法:Arrays.fill(arr,2,3,"bb"); 位置2包括位置3不包括替换值“bb”
有两种形式:一种形式是“fill(type []a,type b)”;表示把数组a的全部空间填充为b.
另一种形式是“fill(type a[],int key1,int key2,type b);” 表示把数组a从key1到key2的全部内容填充为b,但不包含key2的位置。
import java.util.Arrays;
public
class
TestArray{
public
static
void
main(
String
args[]){
int
arr3[] = {
1,
2,
3,
4,
5,
6};
Arrays.
fill(arr3,
1,
3,
0);
for(
int
i =
0;i<
arr3.
length;i++){
System.
out.
println(arr3[i]);
}
}
}
结果是:1 0 0 4 5 6
三、数组的比较
Arrays.equals()方法。
实现比较的函数为equals(数组1,数组2)。如果两个数组的数据元素数量相同,相同位置上的数据元素又相等,则这两个数组想等,函数返回boolean值true,否则不相等,函数返回boolean值false。
import java.util.Arrays;
public
class
TestArray{
public
static
void
main(
String
args[]){
int
arr3[] = {
1,
2,
3,
4,
5,
6};
int
arr4[] = {
1,
2,
3,
4,
5,
6};
int
arr1[] = {
1,
2,
3,
4,
5,
6};
int
arr2[] = {
1,
2,
3,
4,
5,
7};
boolean
a=
Arrays.
equals(arr3,arr4);
boolean
b=
Arrays.
equals(arr1,arr2);
System.
out.
println(a);
System.
out.
println(b);
}
}
结果是:ture false
四、数组的排序
Arrays.sort()方法。
数组的排序指依据数组中的数据类型升序排序。该方法有两种参数格式:一是“sort(数组引用)”;二是“sort(数组引用,参数1,参数2)”。前者表示对整个数组升序排序,后者表示对数组中的一个范围内的元素排序,参数1是起始位置,参数2是截止位置,但不包含该位置。
import java.util.Arrays;
public
class
TestArray{
public
static
void
main(
String
args[]){
int
arr1[] = {
4,
7,
3,
2,
8,
1};
int
arr2[] = {
4,
7,
3,
2,
8,
1};
Arrays.
sort(arr1);
Arrays.
sort(arr2,
0,
4);
for (
int
i=
0;i<
arr1.
length;i++){
System.
out.
print(arr1[i]);
}
System.
out.
println(
" ");
for (
int
i=
0;i<
arr2.
length;i++){
System.
out.
print(arr2[i]);
}
}
}
结果是:123478 234781
五、数组的查找
Arrays.binarySearch().
数组的查找是在指定数据类型的数组中查找一个具体的元素,如在int型数组中查找一个整数,如果该整数存在,则输出该整数在数组中的位置。需要注意的是数组中元素的位置是从0开始计数的。如果该整数不存在则输出一个负值。
import java.util.Arrays;
public
class
TestArray{
public
static
void
main(
String
args[]){
int
arr1[] = {
4,
7,
3,
2,
8,
1};
int
arr2[] = {
4,
7,
3,
2,
8,
1};
int
a=
Arrays.
binarySearch(arr1,
3);
int
b=
Arrays.
binarySearch(arr2,
9);
System.
out.
println(a);
System.
out.
println(b);
}
}
结果是:2 -7