8.《重学 JAVA》-- 数组
一、数组
数组对 JAVA 编程语言来说是重要的数据结构之一,也是非常重要的集合类型,其概念同一种类型数据的集合,数组就是一个容器。
1. 一致性:只能保存同一种数据类型。
2. 有序性:数组中的元素是有序的,通过下标进行访问,下标从零开始。
3. 不可变:数组初始化后,长度不可变。
元素类型[] 数组名 = new 元素类型[元素个数或数组长度],推荐的写法。
int[] array ;
元素类型 数组名[] = new 元素类型[元素个数或数组长度],不推荐写法。
Int array[] ;
推荐第一种,因为第一种格式不仅具有更好的语意,而且具有更好的可读性,数组声明完成后,数组的长度还不能确定,所以 JVM 还没有给元素分配内存空间。
数组初始化:数组初始化就是为数组的每一个元素分配内存空间,并为每一个元素提供初始值。
静态初始化:静态初始化就是初始化时把数组中的元素放到大括号中。
例如:int[] array= {1,2,3,4,5};
动态初始化:动态初始化是通过 new 对象进行创建,并分配指定的长度内存。
例如:int[] array=new int[4];
在编程时,我们常用动态初始化,因为不知道数组中的元素是多少,更不知道元素的内容,所以采用动态初始化。
二、处理数组
数组的元素类型和数组的大小都是确定的,所以当处理数组元素时候,我们通常使用基本循环或者 ForEach 循环。
普通 For 循环进行操作,也可以用增强 For 循环进行操作。
通过 Stream 流进行循环,Stream 是 JDK1.8 的新特性。
三、Arrays 类
java.util.Arrays 类 JDK 提供的一个工具类,用来处理数组的各种方法,它提供的所有方法都是静态的。
1. asList:作用是返回指定数组支持的固定大小的列表。
2. sort:该方法用于数组排序。
3. binarySearch:二分查找数组中的某一个元素。
4. copyOf:拷贝数组。
src:源数组。
srcPos:源数组要复制的起始位置。
dest:目的数组。
destPos:目的数组放置的起始位置。
length:复制的长度。
5. equals 和 deepEquals: 用来比较两个数组中对应位置的每个元素是否相等。
6. fill:该系列方法用于给数组赋值,并能指定某个范围赋值。
7. toString 和 deepToString:toString()方法用于返回以一个字符串表示的对象值。
版权声明: 本文为 InfoQ 作者【杨鹏Geek】的原创文章。
原文链接:【http://xie.infoq.cn/article/336a5ea178bf34c1ffee2883a】。文章转载请联系作者。
评论