文档章节

Java基础系列——数组之java.util.Arrays使用以及可能出现的异常(12)

卢佳鹏
 卢佳鹏
发布于 07/10 19:55
字数 439
阅读 81
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

java.util.Arrays类即为操作数组的工具类,包含了用来操作数组(比 如排序和搜索)的各种方法。常用方法如下所示:

boolean equals(int[] a,int[] b) 判断两个数组是否相等。
String toString(int[] a) 输出数组信息。
void fill(int[] a,int val) 将指定值填充到数组之中。
void sort(int[] a) 对数组进行排序。
int binarySearch(int[] a,int key) 对排序后的数组进行二分法检索指定的值。

代码示例如下:

/**
 * @ClassName TestArrays
 * @Description TODO
 * @Author lujiapeng
 **/
public class TestArrays {
    public static void main(String[] args) {
        int[] source = {1,2,3,4,5,6,7,8} ;
        int[] source2 = {1,2,3,4,5,6,7,9,43 ,11 , 14  } ;
        /**
         * 判断是否相等,内部使用 ArraysSupport.mismatch 方法进行操作。其实就是查找是否有不同的元素
         *
         */
        System.out.println(Arrays.equals( source , source2 ));

        /**
         * 将整个数组 通过遍历的方式进行输出。其内部使用的是StringBuilder 类进行拼接
         */
        System.out.println( Arrays.toString( source ));

        /**
         * 填充数组 : 此时是将source数组中的所有元素都填充成100。
         * 该方法有大量重载,可以自行查看
         */
        Arrays.fill( source , 100 );
        System.out.println( Arrays.toString( source ));

        /**
         * sort 方法,内部使用了快速排序
         */
        Arrays.sort( source2 );
        System.out.println( Arrays.toString( source2 ));

        /**
         * 二分查找: 如果找到了,返回对应的下标
         */
        int j = Arrays.binarySearch( source2 , 5 ) ;
        System.out.println( j );
    }
}

数组中常见的异常

  • ArrayIndexOutOfBoundsException : 数组下标越界。也就是说,访问下标的时候,超过了范围。
  • NullPointException : 空指针异常,可能是数组是空,或者是数组中的元素为空。
卢佳鹏
粉丝 7
博文 18
码字总数 33439
作品 0
西安
程序员
私信 提问
加载中
请先登录后再评论。
Netty那点事(三)Channel与Pipeline

Channel是理解和使用Netty的核心。Channel的涉及内容较多,这里我使用由浅入深的介绍方法。在这篇文章中,我们主要介绍Channel部分中Pipeline实现机制。为了避免枯燥,借用一下《盗梦空间》的...

黄亿华
2013/11/24
2W
22
访问安全控制解决方案

本文是《轻量级 Java Web 框架架构设计》的系列博文。 今天想和大家简单的分享一下,在 Smart 中是如何做到访问安全控制的。也就是说,当没有登录或 Session 过期时所做的操作,会自动退回到...

黄勇
2013/11/03
3.4K
6
Flappy Bird(安卓版)逆向分析(一)

更改每过一关的增长分数 反编译的步骤就不介绍了,我们直接来看反编译得到的文件夹 方法1:在smali目录下,我们看到org/andengine/,可以知晓游戏是由andengine引擎开发的。打开/res/raw/at...

enimey
2014/03/04
5.9K
18
浅入浅出Android(003):使用TextView类构造文本控件

基础: TextView是无法供编辑的。 当我们新建一个项目MyTextView时候,默认的布局(/res/layout/activity_main.xml)中已经有了一个TextView: <TextView 运行效果如下: 修改其文本内容...

樂天
2014/03/22
604
1
SQLServer实现split分割字符串到列

网上已有人实现sqlserver的split函数可将字符串分割成行,但是我们习惯了split返回数组或者列表,因此这里对其做一些改动,最终实现也许不尽如意,但是也能解决一些问题。 先贴上某大牛写的s...

cwalet
2014/05/21
9.6K
0

没有更多内容

加载失败,请刷新页面

加载更多

第八讲:配置外界可以访问虚拟机里面的HDFS

本节通过配置实现外界访问虚拟机Centos6.4里面的HDFS。为后续的java读写HDFS做准备 步骤有: 1、修改主机Windos7的网络配置 2、修改虚拟机Centos6.4里面的网络配置 3、修改虚拟机Centos6.4里...

刘日辉
31分钟前
18
0
什么是控制反转? - What is Inversion of Control?

问题: Inversion of Control (or IoC) can be quite confusing when it is first encountered. 第一次遇到控制反转(或IoC)时,可能会很混乱。 What is it? 它是什么? Which problem does......

技术盛宴
43分钟前
19
0
OSChina 周四乱弹 —— 不劳而获的饭好吃么?好吃!非常好吃!

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 小小编辑推荐:《世界上不存在的歌 (2020重唱版)》- 陈奕迅 《世界上不存在的歌 (2020重唱版)》- 陈奕迅 手机党少年们想听歌,请使劲儿戳(这...

小小编辑
56分钟前
23
2
从 GPU、TPU,到 Web 端、移动端,深度学习框架部署训练开始变简单

本文作者:o****0 早些时候的统计显示,今年3月,深度学习框架集中爆发。5月,有人发布可以直接在 iphone11上训练神经网络的开源项目。日前,百度开源国内首个可直接运行在 Web 端的深度学习...

百度开发者中心
昨天
16
0
如何从Git存储库中删除文件? - How can I delete a file from a Git repository?

问题: I have added a file named "file1.txt" to a Git repository. 我已将名为"file1.txt"的文件添加到Git存储库中。 After that, I committed it, added a couple of directories called......

富含淀粉
今天
31
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部