public static int max(int[]array) {
if(array==null||array.length==0)
//防止传过来的引用变量没有指向变量或者指向的对象里没有东西
{
return -1;
}
int max=array[0];
for(int i=1;i< array.length;i++)
{
if(max
二、数组中指定元素的查找
public static int find(int[]array,int key) {
//array是要查找的数组、key是要查的元素
for(int i=0;i
ps:这里用的是顺序查找,关于查找也可以用二分法查找,但必须保证数组内元素是升序或者降序的,感兴趣的同学可以看笔者之前的二分法查找文章
四、检查数组的有序性
public static boolean isUp(int[]arr) {
for(int i=0;iarr[i+1])
{
return false;
}
}
return true;
}
public static void main(String[] args) {
int []arr={11,12,3,15,16};
boolean f=isUp(arr);
System.out.println(f);
int []brr={1,2,3,4,5};
boolean e=isUp(brr);
System.out.println(e);
}
五、数组(冒泡)排序
public static void bubbleSort(int[]arr) {
for(int i=0;iarr[j+1])
{
int tmp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=tmp;
}
}
}
}
public static void main(String[] args) {
int []array={11,26,7,18,9,0};
bubbleSort(array);
System.out.println(Arrays.toString(array));
}
六、数组元素的逆置比如1357->7531
public static void nz(int[]arr) {
int i=0;
int j=arr.length-1;
while(i
七、数组数字排列
整形数组,偶数放在前半部分,奇数放在后半部分
public static void change(int[]arr) {
int i=0;
int j= arr.length-1;
while(i
八、数组拷贝
一般方法:
public static int[] copy1(int[]arr) {
int []copy=new int[arr.length];
for(int i=0;i
调用java原有方法:
public static void main(String[] args) {
int []arr={0,9,1,4,5};
int []brr=Arrays.copyOf(arr,arr.length);
//第一个参数是被拷贝的数组,第二个参数是拷贝的长度,返回值类型int[]
System.out.println(Arrays.toString(brr));//打印[0, 9, 1, 4, 5]
int []crr=Arrays.copyOfRange(arr,1,3);//从arr下标1开始拷贝到下标3,左闭右开区间[1,3)
System.out.println(Arrays.toString(crr));//打印[9,1]
int []drr=new int[arr.length];
System.arraycopy(arr,0,drr,0,arr.length);
//第一个参数:原数组 第二个参数:从原数组下标哪里开始拷贝 第三个参数:从目标数组哪个位置拷贝进 第四个参数,拷贝长度
System.out.println(Arrays.toString(drr));//打印[0, 9, 1, 4, 5]
int []err=arr.clone();//拷贝一个新的副本
System.out.println(Arrays.toString(err));//打印[0, 9, 1, 4, 5]
}
关于最后一个.clone(),示意图如下



