定义数组:
int [] arr; // 方法1
int arr []; // 方法2
初始化数组
// 赋初始化值
int a [] = {1,2,3};
for(int k:a)
{
System.out.println(k);
}
//各自赋值
int[] array1 = new int[10];
array1[0]=1;
// 生成一个随机数组
for (int i:array1) //foreach结构,遍历整个容器
{
int a=(int)(Math.random())*100;
array1[i]=a;
}
Arrays类
java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。
具有以下功能:
给数组赋值:通过 fill 方法。
对数组排序:通过 sort 方法,按升序。
比较数组:通过 equals 方法比较数组中元素值是否相等。
查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。
System.out.println(Arrays.toString(a));
Arrays.sort(a);
System.out.println(Arrays.toString(a));
//int [] b = (Arrays.sort(a)); 不可以这样子写
int [] b = a;
System.out.println(Arrays.toString(b));
Arrays常用方法
1、sort()
默认由小到大排序,不只对于数值型的可以排序,对于字符串等也都可以进行排序
2、binarySearch()
对已排序(从小到大排序的)的数组进行二元搜索,如果找到指定的值就返回其所在的索引位置,否则返回负值
3、fill()
将数组的元素全部设定为指定的值
4、equals()
比较两个数组元素中的元素值是否全部相等,如果是返回true,否则返回false,适用于一维数组,多维数组用deepEquals()用法同equals;
5、deepEquals()
对多维数组进行比较其内容是否一致,不能用于一维数组,会编译不过滴~
6、toString(int[] a)
返回指定数组内容的字符串表示形式。
7、copyOf(int[] original, intnewLength)
复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度。
8、copyOfRange(int[] original, intfrom, int to)
将指定数组的指定范围复制到一个新数组。
Array与Arrays的区别
1.数组类Array 属于java.lang
Java中最基本的一个存储结构。
提供了动态创建和访问 Java 数组的方法。其中的元素的类型必须相同。
效率高,但容量固定且无法动态改变。
它无法判断其中实际存有多少元素,length只是告诉我们array的容量。
2、静态类Arrays 属于java.util
此静态类专门用来操作array ,提供搜索、排序、复制等静态方法。
equals():比较两个array是否相等。array拥有相同元素个数,且所有对应元素两两相等。
sort():用来对array进行排序。
binarySearch():在排好序的array中寻找元素。