javase -- Arrays工具类


Arrays工具类.

java.util.Arrays

1、equals(arr1,arr2).

判断两个数组内容是否相等

底层源码.

(以参数类型int,Object为例)

 public static boolean equals(int[] a, int[] a2) {
     if (a==a2)
         return true;
     if (a==null || a2==null)
         return false;

     int length = a.length;
     if (a2.length != length)
         return false;

     for (int i=0; i<length; i++)
         if (a[i] != a2[i])
             return false;

     return true;
 }
public static boolean equals(Object[] a, Object[] a2) {
    if (a==a2)
        return true;
    if (a==null || a2==null)
        return false;

    int length = a.length;
    if (a2.length != length)
        return false;

    for (int i=0; i<length; i++) {
        Object o1 = a[i];
        Object o2 = a2[i];
        if (!(o1==null ? o2==null : o1.equals(o2)))
            return false;
    }
    return true;
}

测试.

int[] arr = {4,5,6,1,2,3};
int[] arr1 = {4,5,6,1,2,3};

System.out.println(arr.equals(arr1));//false
System.out.println(Arrays.equals(arr, arr1));//true

2、fill(arr,value)and toString().

将指定值填充到数组之中

[ 元素1+ ... + 元素n] 格式打印数组

测试.

String[] a = {"","",""};

Arrays.fill(a, "value");

System.out.println(Arrays.toString(a)); // [value, value, value]

3、sort(arr).

对数组排序:快速排序

测试.

int[] a = {1,5,2,3};

Arrays.sort(a);

System.out.println(Arrays.toString(a));//[1, 2, 3, 5]

4、binarySearch(arr,key).

二分查找

测试.

int[] a = {-12,-4,1,2,3};

        System.out.println(Arrays.binarySearch(a, 2));//找到了 返回值 为索引 3
        System.out.println(Arrays.binarySearch(a, -4));//找到了 返回值 为索引 1
        System.out.println(Arrays.binarySearch(a, -12));//找到了 返回值 为索引 0
        System.out.println(Arrays.binarySearch(a, 12));//没找到 返回值 < 0

……….


文章作者: liuminkai
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 liuminkai !
评论
 上一篇
javase -- 面向对象 javase -- 面向对象
面向对象.一、面向过程(POP)与 面向对象(OOP). 面向过程 强调的是 功能行为 以函数为最小单位 考虑怎么做 面向对象 强调的是 具备了功能的对象 以类/对象为最小单位 考虑谁来做(知道怎么做) 二、面向对象的三大特征.1
2020-07-27
下一篇 
Spring学习笔记-8-Bean的自动装配 Spring学习笔记-8-Bean的自动装配
Bean的自动装配. 自动装配是Spring满足bean依赖一种方式 Spring会在上下文中自动寻找,并自动给bean装配属性 在Spring中有三种装配方式. 在xml中装配 在java中装配 隐式的自动装配(autowired):将
2020-07-27
  目录