数组的深入使用——Arrays类
数组是一种存放相同数据类型的集合,实际上就是一串的变量。对于数组,我们不仅希望遍历其中的每一个元素,还想对数组里面的数据进行操作,比如查询数组中是否含有元素、数组排序或者将数组以字符串的形式输出等等。java为我们提供了一个操作类叫Arrays类,被定义在java.util包中,Arrays类把数组操作的常见方法都写在其中。
-
public static void sort(int[] a)
将指定的数组排序为上升的数值顺序。 -
public static int binarySearch(byte[] a,byte key)
使用二进制搜索算法搜索指定的值的字节数组。数组必须排序(由
sort(byte[])
法)进行调用之前。如果它没有排序,结果是不确定的。如果存在这个元素,则返回元素的下标;如果数组包含具有指定值的多个元素,则无法找到一个将被发现的保证。 -
public static boolean[] copyOf(boolean[] original, int newLength)
复制指定的数组,默认从第一个元素开始。
-
public static int[] copyOfRange(int[] original,int from, int to)
将指定的数组指定的范围复制到一个新的数组中
注意点:数组的复制除了使用Arrays类的方法外,还可以使用Object类的clone()方法和System类的arrayCopy()方法。
-
public static boolean equals(int[] a, int[] a2)
如果两个指定的int数组是相同的则返回true。相同的含义是两个数组两个数组包含相同数量的元素,两个数组中的所有对应的元素是相等的。两数组引用如果都是 null,两数组是相同的。
-
public static void fill(int[] a,int fromIndex,int toIndex,int val)
将指定的int值为指定数组的每个元素对象的指定范围。范围是从指数 fromIndex填充(包含)到指数 toIndex(不包含)。(如果 fromIndex==toIndex,范围是满是空的。)
-
public static String toString(int[] a)
返回指定数组的内容,用字符串表示。的字符串表示形式由一列数组中的元素,在方括号内( "[]")。相邻的元素是由人物 ", "隔开(逗号后面加一个空格)。元素转换为字符串的 String.valueOf(int)。返回 "null"如果 a是 null。
1 package com; 2 3 import java.util.Arrays; 4 import java.util.Scanner; 5 6 public class ArraysDemo { 7 public static void main(String[] args) { 8 Scanner scan = new Scanner(System.in); 9 System.out.println("请输入一个数"); 10 int[] arrInt = new int[]{1,100,50,2365,2,2,2,2}; 11 //数组的排序 12 //结果为1 -- 2 -- 2 -- 2 -- 2 -- 50 -- 100 -- 2365 -- 13 Arrays.sort(arrInt); 14 for(int i:arrInt){ 15 System.out.print(i+" --"+"\t"); 16 } 17 //数组的二分搜索法,结果为5 18 int ret = Arrays.binarySearch(arrInt,50); 19 System.out.println(ret); 20 //数组的复制,结果为1 -- 2 -- 2 -- 2 -- 2 -- 21 int[] arr = Arrays.copyOf(arrInt,5); 22 for(int i:arr){ 23 System.out.print(i+" --"+"\t"); 24 } 25 //数组的填充,结果为1 -- 5 -- 5 -- 2 -- 2 -- 26 Arrays.fill(arr,1,3,5); 27 for(int i:arr){ 28 System.out.print(i+" --"+"\t"); 29 } 30 //数组转换成字符串 31 String str = Arrays.toString(arr); 32 System.out.println(String.valueOf(arr[4]));//结果为1 33 System.out.println(str.length());//String类用的是length()方法 34 35 } 36 }
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合终身会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步