- 定义数组:
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中寻找元素。