Java数组应用实例

Java数组应用实例

完成数组的各项操作,包括数组的排序,查找,反转,合并,差集,交集,并集等。

数组打印

    public static void printArray(String message, int a[])  {
        //数组打印
        System.out.println(message);
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i]+",");
        }

        System.out.println();
    }

数组反转

public static void reverseArray(int a[]) {
        //数组反转  调用Collections的reverse方法。

        ArrayList< Integer> arrayList = new ArrayList<>();
        for (int i = 0; i < a.length; i++) {
            arrayList.add(a[i]);
        }
        System.out.println("反转前:");
        for (Integer integer : arrayList) {
            System.out.print(integer+",");
        }
        System.out.println();
        Collections.reverse(arrayList);
        System.out.println("排序后:");
        for (Iterator<Integer> iterator = arrayList.iterator(); iterator.hasNext();) {

            System.out.print(iterator.next()+",");
        }
        System.out.println();   
            }       

获取数组的最大值和最小值

//获取数组的最大值 
        public static  int  getMax(int a[]) {
            int max = 0;
            for (int i = 0; i < a.length; i++) {

                if(a[i]>max) {

                    max= a[i];
                }
            }

            return max;

        }

        //获取数组的最小值
        public static  int  getMin(int a[]) {
            int min= 0;
            for (int i = 0; i < a.length; i++) {

                if(a[i]<min) {

                    min= a[i];
                }
            }

            return min;

        }

数组的合并

public static void joinArray(int[] a, int[] b) {
            //合并两个数组
            List<Integer> list = new ArrayList<>();
            for (int i = 0; i < a.length; i++) {
                list.add(a[i]);

            }
            for (int i = 0; i < b.length; i++) {
                list.add(b[i]);

            }    
            System.out.println("合并后的数组:");
            for (Integer integer : list) {
                System.out.print(integer+" ");
            }
            System.out.println();
        }

数组的差集

//求两个数组的差集

        public static void diffSet(int a[],int b[]) {

               ArrayList<Integer> s1 = new ArrayList<>();
               ArrayList<Integer> s2 = new ArrayList<>();
               for (int i = 0; i < a.length; i++) {
                s1.add(a[i]);
                }
               for (int i = 0; i < b.length; i++) {
                s2.add(b[i]);
                }
               s1.removeAll(s2);

               for (Integer integer : s1) {
                System.out.print(integer+" ");
            }
              System.out.println();

        }

数组的交集

//求两个数组的交集
        public static void  intersectionArray(int a[],int b[]) {

               ArrayList<Integer> s1 = new ArrayList<>();
               ArrayList<Integer> s2 = new ArrayList<>();
               for (int i = 0; i < a.length; i++) {
                s1.add(a[i]);
                }
               for (int i = 0; i < b.length; i++) {
                s2.add(b[i]);
                }
            //用retailAll()方法。
               s1.retainAll(s2);
               System.out.println(s1);

        }

数组的并集

//求两个数组的并集
        public static void unionSet(int a[],int b[]) {
        Set<Integer> set = new HashSet<Integer>();
        for (int i = 0; i < a.length; i++) {
            set.add(a[i]);
        }       

        for (int j :b) {
            set.add(j);

        }   
        for (Iterator<Integer> iterator = set.iterator(); iterator.hasNext();) {
            Integer integer = (Integer) iterator.next();
            System.out.print(integer+" ");

        }   
        System.out.println();   
        }

应用实例:

public static void main(String[] args){

        int array [] = {2,5,-2,6,-3,8,0,-7,-9,4};
        printArray("排序前的数组为:", array);

        System.out.println("数组的排序结果是:");
        Arrays.sort(array);
        for (int i = 0; i < array.length; i++) {
            System.out.print(array[i]+" ");
        }
        System.out.println();
        //在已排序数组中查询特定的元素,返回元素所在已排序数组中的索引
        int index = Arrays.binarySearch(array, 4);
        System.out.println("元素4在"+index+"个位置");
        //获取数组中元素的个数
        System.out.println("数组的大小为:"+array.length);
        reverseArray(array);


        System.out.println("数组中的最大值:"+getMax(array));
        System.out.println("数组中的最小值:"+getMin(array));


       int b[] = {3,6,89};
       joinArray(array, b);


       int array1 [] = {2,5,-5,6,-3,8,0,-7,-10,4};
       int array2 [] = {2,5,-2,9,-3,4,0,-7,-9,4};

       System.out.print("array1-array2=");
       diffSet(array1, array2);

       System.out.print("array2-array1=");
       diffSet(array2, array1);

       System.out.println("array1 ∩ array2=");
       intersectionArray(array1, array2);

       System.out.println("array2 ∩ array1=");
       intersectionArray(array2, array1);

       System.out.println("array2∪ array1=");
       unionSet(array2, array1);

       System.out.println("array1∪ array2=");
       unionSet(array1, array2);

       //比较两个数组是否相等
       System.out.println(array1.equals(array2));




    }

这里写图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值