• Java常用类——Arrays工具类


    一、概述

      java.util.Arrays 此类包含用来操作数组的各种方法。比如排序和搜索等,其所有方法均为静态方法,调用非常方便。

    二、操作数组的方法

      (1)使用二分搜索法来搜索指定的 int 型数组,以获取指定的值;要求数组是有序的,否则结果不确定;如果key在 数组a中存在,就返回找到的第一个的下标,如果不存在就返回负数。

    public static int binarySearch(int[] a,int key)
    

      (2)从original原数组中复制得到一个新数组,新数组的长度为newLength

    public static int[] copyOf(int[] original,int newLength)
    

      (3)从original原数组中把[from,to)复制出来,构成新数组要求from必须在original的合理下标范围内,to可以超过长度

    public static int[] copyOfRange(int[] original,int from,int to)
    

      (4)比较两个数组的长度和内容是否一致  

    public static boolean equals(int[] a,int[] a2)
    

      (5)把a数组的元素中val填充

    public static void fill(int[] a,int val)
    

      (6)把数组a按照升序排列

    public static void sort(int[] a)
    

      (7)把a数组的元素,遍历,拼接为一个字符串返回,效果

    public static String toString(int[] a)

      (8)返回一个受指定数组支持的固定大小的列表。

    static <T> List<T> asList(T... a)
    

          注意转化后的 list 的一个只读的集合,而且它的类型是 java.util.Arrays$ArrayList不是java.util.ArrayList

    三、arraycopy 方法

      Object:是所有引用数据类型的根父类

      Object类型的变量,形参,就可以接受任意的引用数据类型的对象,包括数组。

    public static native void arraycopy(Object src, int srcPos, Object dest, int destPos,int length);
    

      第一个参数:src          原数组对象

      第二个参数:srcPos    从原数组的[srcPos]下标开始复制

      第三个参数:dest        目标数组对象

      第四个参数:destPos   目标数组从[destPos]开始存储

      第五个参数:length      表示从原数组复制几个元素

      说明:如果 src 和 dest 是同一个数组的话,那么就会实现数组的元素的移动

      Demo1:

     1 public static void main(String[] args) {
     2     // 定义int 数组
     3     int[] arr = {2,34,35,4,657,8,69,9};
     4     // 打印数组,输出地址值
     5     System.out.println(arr); // [I@2ac1fdc4
     6     // 数组内容转为字符串
     7     String s = Arrays.toString(arr);
     8     // 打印字符串,输出内容
     9     System.out.println(s); // [2, 34, 35, 4, 657, 8, 69, 9]
    10 }

      Demo2:

    1 public static void main(String[] args) {
    2     // 定义int 数组
    3     int[] arr = {24, 7, 5, 48, 4, 46, 35, 11, 6, 2};
    4     System.out.println("排序前:"+ Arrays.toString(arr)); // 排序前:[24, 7, 5, 48, 4, 46, 35, 11, 6,2]
    5     // 升序排序
    6     Arrays.sort(arr);
    7     System.out.println("排序后:"+ Arrays.toString(arr));// 排序后:[2, 4, 5, 6, 7, 11, 24, 35, 46,48]
    8 }
  • 相关阅读:
    格式化数字,将字符串格式的数字,如:1000000 改为 1 000 000 这种展示方式
    jquery图片裁剪插件
    前端开发采坑之安卓和ios的兼容问题
    页面消息提示,上下滚动
    可以使用css的方式让input不能输入文字吗?
    智慧农村“三网合一”云平台测绘 大数据 农业 信息平台 应急
    三维虚拟城市平台测绘 大数据 规划 三维 信息平台 智慧城市
    农业大数据“一张图”平台测绘 大数据 房产 国土 农业 信息平台
    应急管理管理局安全生产预警平台应急管理系统不动产登记 测绘 大数据 规划 科教 三维 信息平台
    地下综合管廊管理平台测绘 大数据 地下管线 三维 信息平台
  • 原文地址:https://www.cnblogs.com/niujifei/p/14534589.html
Copyright © 2020-2023  润新知