一、概述

  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 }

 

posted on 2021-03-14 22:20  格物致知_Tony  阅读(91)  评论(0编辑  收藏  举报