Java Arrays基本工具类

Arrays 类是一个工具类,其中包含了数组操作的很多方法。

这个 Arrays 类里均为 static 修饰的方法(static 修饰的方法可以直接通过类名调用),可以直接通过 Arrays.xxx(xxx) 的形式调用方法。

int binarySearch(type[] a, type key)

使用二分法查询 key 元素值在 a 数组中出现的索引,如果 a 数组不包含 key 元素值,则返回负数。调用该方法时要求数组中元素己经按升序排列,这样才能得到正确结果。

int binarySearch(type[] a, int fromIndex, int toIndex, type key)

这个方法与前一个方法类似,但它只搜索 a 数组中 fromIndex 到 toIndex 索引的元素。调用该方法时要求数组中元素己经按升序排列,这样才能得到正确结果。

type[] copyOf(type[] original, int length)

这个方法将会把 original 数组复制成一个新数组,其中 length 是新数组的长度。如果 length 小于 original 数组的长度,则新数组就是原数组的前面 length 个元素,如果 length 大于 original 数组的长度,则新数组的前面元索就是原数组的所有元素,后面补充 0(数值类型)、false(布尔类型)或者 null(引用类型)。

type[] copyOfRange(type[] original, int from, int to)

这个方法与前面方法相似,但这个方法只复制 original 数组的 from 索引到 to 索引的元素。

boolean equals(type[] a, type[] a2)

如果 a 数组和 a2 数组的长度相等,而且 a 数组和 a2 数组的数组元素也一一相同,该方法将返回 true。

void fill(type[] a, type val)

该方法将会把 a 数组的所有元素都赋值为 val。

void fill(type[] a, int fromIndex, int toIndex, type val)

该方法与前一个方法的作用相同,区别只是该方法仅仅将 a 数组的 fromIndex 到 toIndex 索引的数组元素赋值为 val。

void sort(type[] a)

该方法对 a 数组的数组元素进行排序。

void sort(type[] a, int fromIndex, int toIndex)

该方法与前一个方法相似,区别是该方法仅仅对 fromIndex 到 toIndex 索引的元素进行排序。

String toString(type[] a)

该方法将一个数组转换成一个字符串。该方法按顺序把多个数组元素连缀在一起,多个数组元素使用英文逗号,和空格隔开。

Arrays 类处于 java.util 包下,为了在程序中使用 Arrays 类,必须在程序中导入 java.util.Arrays 类。

import java.util.Arrays;
import java.util.Scanner;
class test10 
{
	public static void main(String[] args) 
	{
		//定义一个数组
		int[] a = new int[]{3,4,5,6};
		//定义另一个数组
		int[] b = new int[]{3,4,5,6};

		//判断数组是否相等
		System.out.println("a数组和b数组是否相等:" + Arrays.equals(a,b));
		//通过复制a生成一个新的数组
		int[] c = Arrays.copyOf(a,6);
		System.out.println("a数组和c数组是否相等:" + Arrays.equals(a,c));  //false
		//输出c数组中的元素
		System.out.println("c数组的元素为:" + Arrays.toString(c));  //[3, 4, 5, 6, 0, 0]
		//将c数组的第三个元素(包括)到第五个元素(不包括)赋值为1
		Arrays.fill(c, 2, 4, 1);
		System.out.println("c数组的元素为:" + Arrays.toString(c));
		int[] d = new int[]{3,8,0,1,60,45,78,100,23};
		//对d数组进行排序  升序
		Arrays.sort(d);
		System.out.println("c数组的元素为:" + Arrays.toString(d));
		
		Scanner input = new Scanner(System.in);
		int n;
		System.out.print("请输入要查找的值:");
		if(input.hasNextInt()){
			n = input.nextInt();  //输入要查找的值
			int index = Arrays.binarySearch(d, n);
			if(index > 0){
				System.out.println("" + d[index] + "的下标为:" + index);
			}
			else{
				System.out.println("查无此元素");
			}
		}
		else{
			System.out.println("请输入正确的值(int)");
		}
	}
}

猜你喜欢

转载自blog.csdn.net/qq_43629083/article/details/108631744
今日推荐