博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java常用类(四)之数组工具类Arrays
阅读量:6083 次
发布时间:2019-06-20

本文共 2615 字,大约阅读时间需要 8 分钟。

前言

  数组的工具类java.util.Arrays

  由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作。

一、Arrays类概述

1.1、Arrays类的引入

  该是java.util包中的类,在我们的代码中想使用这个类的话,就必须使用import进行导入。

  在当前类A中,只有java.lang包下的类,以及和当前类A在同一个包下的类,不需要import引入之外,其他所有的包下的类在被使用之前都要import引入。

1.2、简介

  

二、Arrays类中方法调用

  Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而"不用"使用对象来调用(注意:是"不用" 而不是 "不能")

2.1、toString()方法

  把数组转换位字符串形式并返回

  

int[] a = {
1,3,5,7,9}; System.out.println(Arrays.toString(a));

  结果:[1, 3, 5, 7, 9]

2.2、binarySearch()方法 

  在数组中查找指定元素并返回其下标

    注意:使用二分搜索法来搜索指定的数组,以获得指定的值。必须在进行此调用之前对数组进行排序(通过sort方法等)。如果没有对数组进行排序,则结果是不确定的。

              如果数组包含多个带有指定值的元素,则无法保证找到的是哪一个。

  

int[] a = {
1,3,5,7,9}; int bs = Arrays.binarySearch(a, 7); System.out.println(bs);

     结果:3

2.3、sort()方法

  把数据中的元素进行排序

  

  1)sort(int[] a)    对指定的 int 型数组按数字升序进行排序 

int[] a = {
3,5,1,9,7}; System.out.println("before"+Arrays.toString(a)); Arrays.sort(a); System.out.println("after"+Arrays.toString(a));

          结果:before[3, 5, 1, 9, 7]

                      after[1, 3, 5, 7, 9]

  2)sort(byte[] a, int fromIndex, int toIndex)     对指定 byte 型数组的指定范围按数字升序进行排序。

    参数概述: 

            a - 要排序的数组

      fromIndex - 要排序的第一个元素的索引(包括)

      toIndex - 要排序的最后一个元素的索引(不包括)

  3)sort(T[] a, <? super T> c)       根据指定比较器产生的顺序对指定对象数组进行排序

2.4、copyOf()方法

  复制或者截取指定数组并返回

  

int[] a = {
1,3,5,7,9}; int[] copy = Arrays.copyOf(a, 8); System.out.println(Arrays.toString(copy));

         结果:[1, 3, 5, 7, 9, 0, 0, 0]

2.5、copyOfRange()方法

  将数组中指定范围复制新数组并返回

    copyOfRange(int[] original, int from, int to)       将指定数组的指定范围复制到一个新数组。

      参数:original - 将要从其复制一个范围的数组

      from - 要复制的范围的初始索引(包括)

      to - 要复制的范围的最后索引(不包括)。(此索引可以位于数组范围之外)。 

  

2.6、equals()方法

   比较俩个数组是否相等

  

int[] a = {
1,3,5,7,9}; int[] b = {
1,3,5,7,9}; boolean eq = Arrays.equals(a, b); System.out.println(eq); System.out.println(a==b);

        结果:true

                    false

  注意:==比较的是引用所指向对象的内存地址

                Arrays.equals方法比较是俩个数组中的内容

2.7、fill()方法

  用指定值去填充数组对象

  

  1)fill(int[] a, int val)    将指定的 int 值分配给指定 int 型数组的每个元素

int[] a = {
1,3,5,7,9}; Arrays.fill(a, 666); System.out.println(Arrays.toString(a));

  结果:[666, 666, 666, 666, 666]

  2)fill(int[] a, int fromIndex, int toIndex, int val)     将指定的 int 值分配给指定 int 型数组指定范围中的每个元素

    参数:    a - 要填充的数组

        fromIndex - 要使用指定值填充的第一个元素的索引(包括)

        toIndex - 要使用指定值填充的最后一个元素的索引(不包括)

        val - 要存储在数组所有元素中的值 

2.8、asList()方法

  可以把数组转换为List集合

  

int[] a = {
3,5,1,9,7}; List
list = Arrays.asList(a);

2.9、hashCode()方法

  基于指定数组的内容返回哈希码

  

int[] a = {
3,5,1,9,7}; System.out.println(Arrays.hashCode(a));

       结果:31549916

 

 

喜欢就点个“推荐”哦!

转载地址:http://rpkwa.baihongyu.com/

你可能感兴趣的文章
d3----line_color_gradient 学习记录
查看>>
矩阵运算 【微软面试100题 第四十五题】
查看>>
E: Sub-process /usr/bin/dpkg returned an error code (1)
查看>>
Openshift 部署第一个应用hello-openshift
查看>>
XML学习总结
查看>>
如何利用EnteLib Unity Interception Extension 和PIAB实现Transaction
查看>>
Django中ORM介绍和字段及其参数
查看>>
[汇编学习笔记][第十七章使用BIOS进行键盘输入和磁盘读写
查看>>
【并查集合并注意!!!!】【最小生成树】
查看>>
【最大流】【HDU3572】Task Schedule
查看>>
iOS - Photo Album 图片/相册管理
查看>>
0723作业
查看>>
2016蓝桥杯 煤球数目 (代码)
查看>>
DOM&BOM
查看>>
a标签设置锚点定位div
查看>>
LightOJ 1079 Just another Robbery
查看>>
【NFS】nfs安装调优
查看>>
Linux 下子线程 exit code 在主线程中的使用
查看>>
类的实例化
查看>>
axios 获取不到数据错误
查看>>