栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java数组相关例题实战

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java数组相关例题实战

一、找出数组中最大元素
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(),示意图如下

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/357657.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号