第六章 数组
1.一维数组
数组是一个对象,数组可以有效地管理和处理数据
数组分为一维数组和二维数组
一维数组实质上是一组相同类型数据的线性集合
声明方式
Int arr[ ] = new int[12]
数组元素的类型 数组的名字 数组的长度
数组的初始化方式有:1.int arr[]=new int[]{1,2,3,5,25}; 2.int arr[]={34,23,12,6};
2.二维数组
声明方式
Int arr[][]={{12,0},{45,10}};
二维数组的下标都是从0开始,例如arr[1][1]的值为10
二维数组的赋值方式arr[1][1]=20;
3.数组的基本操作
Java.util包的arrays类包含了从来操作数组的各种方法
遍历二维数组使用双for循环或者双foreach语句嵌套
数组中的元素定义完成后,可通过arrays类的静态方法fill()来对数组中的元素进行替换
Fill( int [] a,int value)
该方法将value赋值给a的每个元素
Fail( int [] a,int fromIndex,int toIndex,int value)
该方法将value赋值给a数组从fromIndex(包括)到toIndex(不包括)范围内的所有元素,如果fromIndex==toIndex,则范围为空
若指定的索引位置大于或等于数组的长度,则会出现数组越界异常
4.数组排序
通过Arrays类的静态sort()方法可以实现数组的排序(整形排序是通过大小;String排序是通过字典编排,数字在字母前,大写字母在小写字母前)
Arrays.sort(object)
object是数组名称
5.复制数组
Arrays类的copyOf()方法和copyOfRange()方法可以实现数组复制
copyOf(arr,int newlength)
arr是将被复制的数组的名称,newlength是复制后的新数组的长度,新的数组长度>原来数组,整数类型用0填充,char类型用null填充,新的数组长度<原来数组,从原数组的数据中按顺序取该长度的数据给新数组
copyOfRange(arr,int formIndex,int toIndex)
arr是将被复制的数组的名称,0<formIndex<原数组长度;toIndex是复制范围最后的索引位置,可以>数组arr的长度
6.数组查询
Arrays类的binarySearch()方法,可使用二分搜索法来搜索指定数组,获得制定对象
binarySearch(Object[] a,Object key)
a是搜索的数组的名字,key是要搜索的值,如果key在a中,则返回搜索值的索引,否者返回-1或者-数组。备注:查找之前最好先排序
binarySearch(Object[] a,int formindex,int toIndex,Object key)
a是搜索的数组的名字,根据key搜索在formindex和toindex之间是否有key然后返回索引,如果key在范围中,则返回搜索值的索引,否者返回-1或者-数组。备注:查找之前最好先排序