zoukankan      html  css  js  c++  java
  • Java中的Arrays工具类


    java.util.Arrays

     java.util包下的Arrays类时Java提供给我们用来操作数组的,它提供的所有方法都是静态的,具有以下功能:
      给数组赋值:通过fill方法。
      对数组排序:通过sort方法。
      数组的比较:通过equals方法比较数组中元素的值是否相等。
      查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。

    说明:

     1.public static int binarySearch(Object[] a,Object key)用二分查找算法在给定数组中搜索给定值的对象(byte,int,double等)。数组在调用前必须是排序好的,如果查找值包含在数组中,则返回搜索键的索引;否则返回( -(插入点) - 1 )。

     2.public static boolean equals(long[] a,long[] a2)如果两个指定的long型数组彼此相等,则返回true,如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的。也就是说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。同样的方法适用于所有的其他基本数据类型的数组(byte,short,int等)。

     3.public static void fill(int[] a,int val)将指定的int值分配给指定的int型的数组指定范围中的每个元素。同样的方法适用于所有的其他基本数据类型(byte,short,int等)。

     4.public static void sort(Object[] a)对指定对象数组根据其元素的自然顺序进行升序排列。同样的方法适用于所有的其他基本数据类型(byte,short,int等)。

    /*
    * @author 刘小将
    * 测试Arrays工具类
    */
    
    import java.util.Arrays;
    
    public class TestArrays{
          
          public static void output(int[] array){
                if(array!=null){
                      for(int i = 0;i < array.length;i++){
                            System.out.print(array[i]+"");
                      }
                }
                System.out.println();
          }
    
          //主方法(main)
          public static void main(String[] args){
                int[] array = new int[5];
                //填充数组
                Arrays.fill(array,5);
                TestArrays.output(array);
    
                //将数组的第2个和第3个元素赋值为8
                Arrays.fill(array,2,4,8);
                TestArrays.output(array);
    
                int[] array1 = {7,8,3,2,12,6,3,5,4};
                //对数组的第2个到第6个进行排序
                Arrays.sort(array1,2,7);
                TestArrays.output(array1);
                
                //对整个数组进行排序
                Arrays.sort(array1);
                TestArrays.output(array1);
    
                //比较数组元素是否相等
                boolean b = Arrays.equals(array,array1);
                System.out.println(b);
                int[] array2 = array1.clone();
                TestArrays.output(array2);
    
                //使用二分搜索算法查找(必须是排序好的,否则结果不正确)
                Arrays.sort(array1);
                //元素3在array1中的位置:Arrays.binarySearch(array1,3)            
                int temp = Arrays.binarySearch(array1,3);
                System.out.println(temp);
                //元素9在array1中的位置:Arrays.binarySearch(array1,9)
                //如果不存在就返回负数
                temp = Arrays.binarySearch(array1,9);
                System.out.println(temp);            
    
          }
    
    }
    
    

    运行结果如下:

    5 5 5 5 5
    5 5 8 8 5
    7 8 2 3 3 6 12 5 4
    2 3 3 4 5 6 7 8 12
    false
    2 3 3 4 5 6 7 8 12
    1
    -9
    

  • 相关阅读:
    keepalived.conf配置说明
    监控端口是否开放,端口未开放关闭虚拟ip,端口开放启动虚拟IP
    lvs UDP端口负载均衡配置
    keepalived自动安装脚本
    Keepalived+LVS实现高可用负载均衡双主模式
    cookie和session的区别
    jmeter 关联
    浏览器缓存详解:expires,cache-control,last-modified,etag详细说明
    Session、Cookie、Cache、Token分别是什么及区别
    获取MyBatis
  • 原文地址:https://www.cnblogs.com/joyfulcode/p/13297771.html
Copyright © 2011-2022 走看看