数组知识点

数组概述:
数组是一种数据结构,用来储存同一类型的集合。通过一个整型下标可以访问数组中的每一个值。

数组的创建:

(1)声明数组:声明数组名称和元素的数据类型。

(2)创建数组:为数组元素分配存储空间。

(3)数组的初始化:为元素数组赋值。

1.数据类型[ ] 变量名=new 数据类型[储存元素的个数];

2.数据类型[ ] 变量名=new 数据类型[ ]{元素1,元素2,元素3};
注:new后面的中括号不允许写任何内容,会出错

3.数据类型[ ] 变量名={元素1,元素2,元素3}

一维数组:
一维数组实质上是一组相同类型数据地线性集合,当在程序中需要处理一组数据,或者传递一组数据时,可以应用这种数组。
一、创建一维数组
数组作为对象允许使用new关键字进行内存分配。在使用数组之前,必须首先定义数组变量所属的类型。
1、先声明,再用new关键字进行内存分配
声明一维数组两种方式:
数组元素类型 数组名字[];
数组元素类型[]数组名字;
2、为数组分配内存同时设置初始值数组元素的类型 数组名=new数组元素类型[数组元素的个数]{值1,值2...};

二维数组:
一、创建二维数组
1、先声明,再用new关键字进行内存分配
数组元素的类型 数组名字[行数][列数];
数组元素的类型[行数][列数 数组名字;
2、为数组分配内存同时设置初始值数组名=new数组元素的类型[][]{{值
1,值2...},{值1,值2...}}

数组的基本操作
一、遍历数组
遍历数组就是获取数组中的每个元素。通常遍历数组都是使用for循环来实现。
使用foreach语句遍历二维数组。

二、填充替换数组元素
数组中的元素定义完成后。可通过Arrays类的静态方法fill()来对数组中的元素进行替换。该方法通过各种重载形式可完成对任意类型的数组元素的替换。
替换数组部分元素:前改后不改
使用fill()方法填充数组元素,例如:

 

public static void main(String[] args) {
int[] number = new int[5];

System.out.println("number —共有 " + number.length + " 个元素,它们分别是:");

for (int i = 0; i < number.length; i++) {
Arrays.fill(number, i);

System.out.println("number[" + i + "]=" + i);

}

}

使用fill()方法填充数组中的元素。
三、对数组进行排序
通过Arrays类的静态方法sort()可以实现对数的排序。sort()方法提供了多种重载形式,可以对任意类型的数组进行升序排序。
使用sort()方法将数组排序后输出。

四、复制数组
Arrays 类的copyOf()方法与
copyOfRange()方法可以实现对数组的复制。copyOf()方法是复制数组至指定长度,copyOfRange()方法则将指定数组的指定长度复制到一个新数组中。
复制数组元素:空位补0,溢出去掉
复制数组部分元素:前在后不在复制数。
五、查询数组
Arrays类的binarySearch()方法,可使用二分法搜索指定数组,以获得指定对象。该方法返回要搜索要搜索的索引值。binarySearch()方法提供了多种重载形式,用于满足各种类型数组的查找需要。
查询数组元素:先排序在查询,前含后不含。
数组排序算法
一、冒泡排序
冒泡排序的基本思想是对比相邻的元素值,如果满足条件就交换元素值,把较小的元素移动到数组前面,把较大的元素移动到数组后面(也就是交换两个元素的位置),这样较小的元素就像气泡一样从底部上升到顶部。
二、直接选择排序
直接选择排序的基本思想是将指定排序位置元素与其他数组元素分别对比,如果满足条件就交换元素值。
注意这里与冒泡排序的区别,不是交换相邻元素,而是把满足条件的元素与指定的排序位置元素交换(如从最后一个元素开始排序),这样排序好的位置逐渐扩大,直至整个数组都变成已排序好的格式。

1、 可以使用java.util.Arrays类中定义静态方法对数组排序、查找、复制、比较及填充元素等操作。
2、 可以使用二维数组存储表格数据。使用下面语法声明一个二维数组变量:
elementType[][]arrayName;
3、使用下面语法创建二维数组变量:
arrayName = new elementType[rowSize] [columnSize];
4、可以使用数组初始化器创建二维数组变量,语法如下:elementType arrayName=((rowValues1),(rowValues2),…,(rowValuesn));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值