• 【Java集合的详细研究3】Arrays类常用方法


    1、void sort(array)对数组array的元素进行升序排序

    2.int binarySearch(array,val):查询元素值val在数组array中的下标

    3.String toString(array):该方法将会把一个数组array转换成字符串

    4.boolean equals(array1,array2):比较两个数组是否相等

    5.void fill(array,val):把数组array所有元素都赋值为val

    6.copyof(array,length):把数组array复制成长度为length的新数组

    7.Arrays.asList(array).contains(val1):查看数组array中是否有特定的值val1

    8.Arrays.hashCode(array):基于指定数组的内容返回哈希码

    public static void main(String[] args) {
            String [] arry1={"北京","上海","重庆","深圳"};
            String [] arry2=Arrays.copyOf(arry1, 4);
            //复制copyof
            System.out.println("arry2是:"+Arrays.toString(arry2));
            //比较 equals
            System.out.println("arry1与arry2是否相等:"+Arrays.equals(arry1, arry2));
            //将arry1排序 sort
            Arrays.sort(arry1);
            //toString
            System.out.println("排序后的arry1的值:"+Arrays.toString(arry1));
            //排序后arry1与arry2是否还相等 equals
            System.out.println("排序后arry1与arry2是否还相等"+Arrays.equals(arry1, arry2));
            //填充 fill
            Arrays.fill(arry2, "广州");
            System.out.println("填充之后arry2的值:"+Arrays.toString(arry2));
            //查询binarySearch前提是数组已经排序过后才可以使用
            System.out.println("重庆在arry1中的位置:"+Arrays.binarySearch(arry1, "重庆"));
    
        }

    结果:

    arry2是:[北京, 上海, 重庆, 深圳]
    arry1与arry2是否相等:true
    排序后的arry1的值:[上海, 北京, 深圳, 重庆]
    排序后arry1与arry2是否还相等false
    填充之后arry2的值:[广州, 广州, 广州, 广州]
    重庆在arry1中的位置:3

    public static void main(String[] args) {
            byte[] test1 = { 23, 34 };
    
            byte[] test2 = { 23, 34 };
    
            int[] test3 = { 4, 5, 6, 7 };
    
            // 根据第二个参数作为索引找出对应的下标
            System.out.println(Arrays.binarySearch(test3, 7));
    
            // toString方法
            System.out.println(test1.toString());
            System.out.println(Arrays.toString(test1));// 重写Tostring方法
    
            // Equals方法
            System.out.println(test1.equals(test2));
            System.out.println(Arrays.equals(test1, test2));// 重写了Equals方法
    
            // fill方法
            // 将指定的 byte 值分配给指定byte型数组指定范围中的每个元素。
            Arrays.fill(test1, 0, 1, (byte) 56);
            System.out.println(Arrays.toString(test1));
    
            // hashCode方法
            System.out.println(test1.hashCode());
            System.out.println(Arrays.hashCode(test1));// 基于指定数组的内容返回哈希码
            
            //sort方法
            Arrays.sort(test1);
            System.out.println(Arrays.toString(test1));
            
             //复制copyof
             int[] test4=Arrays.copyOf(test3, 4);
            System.out.println("test4是:"+Arrays.toString(test4));
            
        }
    
    

    Arrays.asList(array).contains(val1):查看数组中是否有特定的值

    int a[]={1,5,3,8,4};
    boolean b=Arrays.asList(a).contains(1);
    System.out.println(b);//注意:b的值只可能是true或false
  • 相关阅读:
    二分LIS模板
    NYOJ16 矩形嵌套 【DAG上的DP/LIS】
    动态规划题库
    洛谷 P1616 疯狂的采药【裸完全背包】
    洛谷 P1049 装箱问题【正难则反/01背包】
    洛谷 P1048 采药【裸01背包】
    洛谷 P1064 金明的预算方案【有依赖的分组背包】
    洛谷 P1064 金明的预算方案【DP/01背包-方案数】
    洛谷 P1060 开心的金明【DP/01背包】
    51nod 1202 不同子序列个数 [计数DP]
  • 原文地址:https://www.cnblogs.com/guweiwei/p/6513738.html
Copyright © 2020-2023  润新知