数组的深入使用——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"如果 anull
复制代码
 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 }
复制代码

 

 

 

posted @ 2020-11-19 16:10  dingzhiwen  阅读(114)  评论(0)    收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示