----------android培训、java培训、java学习型技术博客、期待与您交流!------------
1、数组的初始化
java中初始化数组有两种常见方式:
第一种:int[] arr=new int[2];或int arr[]=new int[2];注意不要越界访问,如:访问arr[2]时,会报数组下标已经越界的异常。
第二种:int[] arr=new int[] {3,1,6,5,7};或int[] arr={3,1,6,5,7};虽然知道数组元素的数量,但是java中不能在前面指出来,不然会报错误。
说明:二维数组有三种表示方法:int [][] y; int y[][]; int[] y[].
2、数组的遍历
数组具有length属性,可以取到数组的长度,再加上for循环即可遍历出所有数组元素。
取长度/大小的总结:String具有length()方法,继承自Collection接口的集合接口,都有size()方法。
3、数组中两种常见的排序
一般实际中,更多地会用Array.sort(arr)方法对数组进行排序,但这两种排序方法更加经典,更重要的是思想。
(1)选择排序
public void selectSort() {
int[] arr={3,5,1,2,8,6};
for(int x=0;x<arr.length-1;x++) {
for(int y=x+1;y<arr.length;y++) {
if(arr[x]>arr[y]) {
int temp =arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
(2)冒泡排序
public void bubbleSort() {
int[] arr={3,5,1,2,8,6};
for(int x=0;x<arr.length-1;x++) {
for(int y=0;y<arr.length-x-1;y++) {
if(arr[y]<arr[y+1]) {
int temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}
}
4、数组的元素位置的查找
这里说明的是一种折半查找方法,它的效率比较高,但是必须要保证数组是有序的。
public int halfSearch(int[] arr,int key) { //key表示查找的元素
int min,max,mid;
min=0;
max=arr.length-1;
mid=(max+min)/2;
while(arr[mid]!=key) {
if(key>arr[mid]) {
min=mid+1;
}else if(key<arr[mid]) {
max=mid-1;
}
if(min>max) return -1;
mid=(max+min)/2;
}
return mid;
}