zoukankan      html  css  js  c++  java
  • java.util.Arrays类

    java.util.Arrays类能方便的操作数组,它所有的方法都是静态的。

    1.filll方法 :给数组中的某段元素附上相同值。

    2.sort方法:对数组中某段元素排序。

    3.equals方法:比较两个数组,判断的是数组中元素值是否相等。

    4.binarySearch方法:对排过序的数组进行二分法查找。

    不错的例子:

    /*-------文件名: UsingArrys.java-------*/
    package com.sjx.test;
    
    import java.util.Arrays;
    /**
     * 使用java.util.Arrays类操作数组
     * @author sjx1
     */
    
    public class UsingArrays {
        /**
         * 整形数组的输出
         */
        public static void output(int[] array){
            if(array != null){
                for(int i = 0 ; i < array.length; i++){
                    System.out.println(array[i] + " ");
                }
            }
        System.out.println();
    }
    public static void main(String[] args){
        //填充数组,将array[]中所有元素的值初始为0
        int[] array0 = new int[5];
        Arrays.fill(array0,5);
        System.out.println("调用Arrays.fill(array0,5)后:");
        UsingArrays.output(array0);
        //将array0中的第2个到第三个元素的值赋为8
        Arrays.fill(array0, 2, 4, 8);
        System.out.println("调用Arrays.fill(array0,0,2,4,8)后:");
        UsingArrays.output(array0);
    
    //对数组进行排序
        int[] array1 = new int[] { 7, 8, 3, 12, 6, 3, 5, 4};
    //对数组的第二个到第6个元素进行排序
        Arrays.sort(array1, 2, 7);
        System.out.println("调用Arrays.sort(array1, 2, 7)后:");
        UsingArrays.output(array1);
        //对整个数组进行排序
        Arrays.sort(array1);
        System.out.println("调用Arrays.sort(array)后:");
        UsingArrays.output(array1);
        
        //比较数组元素是否相等
        System.out.println(Arrays.equals(array0,array1));
        int[] array2 = (int[]) array1.clone();
        System.out.println("array1和array2是否相等?" 
        + Arrays.equals(array1,array2));
        
        //使用二分法在数组中查找指定元素所在的下标
        //数组必须是先排好序的
        Arrays.sort(array1);
        System.out.println("元素3在array1中的位置:" 
        + Arrays.binarySearch(array1,3));
        //如果不存在,就返回负数
        System.out.println("元素9在array1中的位置:" 
        + Arrays.binarySearch(array1,9));
        }
    }

    其实输出的数都是纵向的,只不过写在博客上变了。

    输出:

    调用Arrays.fill(array0,5)后:5 5 5 5 5

    调用Arrays.fill(array0,0,2,4,8)后: 5 5 8 8 5

    调用Arrays.sort(array1, 2, 7)后: 7 8 3 3 5 6 12 4

    调用Arrays.sort(array)后: 3 3 4 5 6 7 8 12

    false

    array1和array2是否相等?true

    元素3在array1中的位置:1

    元素9在array1中的位置:-8

  • 相关阅读:
    解读AppIcon图标设置置信息和App内存警告临界值
    我在外包公司做增删改查有前途么?
    浅议Grpc传输机制和WCF中的回调机制的代码迁移
    2019.NET Conf China(中国.NET开发者峰会)活动全纪录:.NET技术之崛起,已势不可挡
    一位年轻而优秀的.NET开发者的成长点滴
    领域驱动设计-让程序员心中有码(九)
    2019.NET Conf,我们在共同期待
    码农的技术小世界
    .NET Core使用gRPC打造服务间通信基础设施
    坚持写了一年的博客,我有哪些收获
  • 原文地址:https://www.cnblogs.com/sjxbg/p/5549399.html
Copyright © 2011-2022 走看看