数组
数组是具有相同数据类型的一组数据的集合。数组中的每个元素具有相同的数据类型。在Java中同样将数组看作一个对象,虽然基本数据类型不是对象,但由基本数据类型组成的数组却是对象。在程序设计中引入数组可以更有效地管理和处理数据。
一维数组
一维数组实质上是一组相同类型数据地线性集合,当在程序中需要处理一组数据,或者传递一组数据时,可以应用这种数组。
数组定义格式
格式 1 :数据类型 [] 数组名 ; (推荐的方式)
格式 2 :数据类型 数组名 [];
示例:int[] arr = new int[5];
int[] arr = new int[]{3,5,1,7};
int[] arr = {3,5,1,7};
初始化
Java 中的数组必须先初始化 , 然后才能使用,初始化就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。
初始化方式
动态初始化 :初始化时只指定数组长度,由系统为数组分配初始值。
格式:数据类型 [] 数组名 = new 数据类型 [ 数组长度 ]。
数组长度其实就是数组中元素的个数。
二维数组
创建二维数组
1、先声明,再用new关键字进行内存分配数组元素的类型 数组名字[行数][列数];
数组元素的类型[行数][列数 数组名字;
2、为数组分配内存同时设置初始值数组名=new数组元素的类型[][]{{值1,值2...},{值1,值2...}}
数组的基本操作
遍历数组
遍历数组就是获取数组中的每个元素。通常遍历数组都是使用for循环来实现。
使用foreach语句遍历二维数组。
填充替换数组元素
数组中的元素定义完成后。可通过Arrays类的静态方法fill()来对数组中的元素进行替换。该方法通过各种重载形式可完成对任意类型的数组元素的替换。
替换数组部分元素:前改后不改
使用fill()方法填充数组中的元素。
对数组进行排序
通过Arrays类的静态方法sort()可以实现对数的排序。sort()方法提供了多种重载形式,可以对任意类型的数组进行升序排序。
使用sort()方法将数组排序后输出。
复制数组
Arrays 类的copyOf()方法与copyOfRange()方法可以实现对数组的复制。
copyOf()方法是复制数组至指定长度,copyOfRange()方法则将指定数组的指定长度复制到一个新数组中。
复制数组元素:空位补0,溢出去掉
复制数组部分元素:前在后不在复制数。
查询数组
Arrays类的binarySearch()方法,可使用二分法搜索指定数组,以获得指定对象。
该方法返回要搜索要搜索的索引值。binarySearch()方法提供了多种重载形式,用于满足各种类型数组的查找需要。
查询数组元素:先排序在查询,前含后不含。
数组排序算法
一、冒泡排序
二、直接选择排序
ps:1、 可以使用java.util.Arrays类中定义静态方法对数组排序、查找、复制、比较及填充元素等操作。
2、 可以使用二维数组存储表格数据。使用下面语法声明一个二维数组变量:
elementType[][]arrayName;
3、使用下面语法创建二维数组变量:
arrayName = new elementType[rowSize] [columnSize];
4、可以使用数组初始化器创建二维数组变量,语法如下:elementType arrayName=((rowValues1),(rowValues2),…,(rowValuesn));