定义
- 有限个相同数据类型的变量的集合
- 数组属于引用数据类型,要先实例化
- 堆内存用来存放由new运算符创建的对象和数组,同一块堆内存空间可以由不同的栈内存所指向
- 下标从0开始
包 | 描述 |
---|
java.lang.reflect.Array | Array类提供静态方法来动态创建和访问Java数组 |
java.util.Arrays | Arrays类包含用于操作数组的各种方法(如排序和搜索),用类名调用方法 |
优缺点
- 数组中各元素的存储有先后顺序,存储数据类型相同
- 效率高,但容量固定无法动态改变
- 无法判断实际存有多少元素,length只是告知数组的容量
常用方法
方法名(java.util.Arrays ) | 描述 |
---|
toString(T[]) | 返回指定数组的字符串形式 |
sort() | 对数组进行排序(升序) |
asList(T… a) | 返回指定数组支持的固定大小的List(列表) |
fill(T[],value) | 填充数组的各元素值为value |
binarySearch(T[],key): | 对数组通过二分法进行查找(先排好序),key找到了,返回索引,否则返回负数 |
copyOf(T[] original, int newLength) | 复制数组,并重新定义数组长度 |
int[] arrayA = new int[8];
int[] arrayB = {8,3,7,1,5,2,4};
Arrays.sort(arrayB);
int lengthB = arrayB.length;
int binarySearch = Arrays.binarySearch(arrayB, 7);
int[] copyOfB = Arrays.copyOf(arrayB, 10);
System.out.println("数组B长度:"+lengthB);
System.out.println("数组对象toString:"+arrayB.toString());
System.out.println("Arrays方法调用toString:"+Arrays.toString(arrayB));
System.out.println("二分法查找:"+binarySearch);
System.out.println("数组复制:"+Arrays.toString(copyOfB));
数组B长度:7
数组对象toString:[I@30de3c87
Arrays方法调用toString:[1, 2, 3, 4, 5, 7, 8]
二分法查找:5
数组复制:[1, 2, 3, 4, 5, 7, 8, 0, 0, 0]