- 数组将数组中的元素转为指定格式的字符串
例子:给定数组,返回指定格式的字符串;例如:将数组{1,2,3,4}转为字符串:”[1,2,3,4]”;
https://www.zhihu.com/video/1065370190996439040
- 将数组中元素倒序(反转)
例子:数组{1,2,3,4,5}倒序后为{5,4,3,2,1};
https://www.zhihu.com/video/1065370296873189376
数组的查找
数组查找,就是根据给定的数据,查找这个数据在数组中的位置;如果找到了,就返回相应的索引;如果没有找到,就返回-1;
- 普通查找
普通查找,就是通过遍历整个数组,一个一个数据的和要找的数据比较;如果有相同的数据出现,就说明在数组中存在
和要找的数据一样的数据,就可以直接返回这个数据的索引;
使用普通查找,一般找到的是数据第一次出现的位置;
https://www.zhihu.com/video/1065370381862498304
- 二分查找
如果数组中的数据是有序的,就可以使用二分查找法快速查找;
有序:就是从小到大或者从大到小有规律的排列;
https://www.zhihu.com/video/1065370450762309632
数组的排序
- 数组排序的概念
排序:按照一定规律,将数组中的元素从无序变为有序;
升序:就是从小往大、从低到高……
降序:和升序刚好相反
- 选择排序
排序的算法:选择排序,冒泡排序,快速排序,归并排序;希尔排序;堆排序;插入排序;
在实际开发中,排序都已经写好了,直接调用JDK中的函数就行;
为了面试,我们掌握一种排序算法就行;
选择排序的思想,就是不断在没有排序的部分数据中,找到最小(或者最大的)数据,移到数组的前面,一直到整个数组全部有序(只剩最后一个数据没有比较的时候,数组就有序了);
https://www.zhihu.com/video/1065370811585662976
- Arrays数组工具介绍
上面介绍了数组的一些练习,而针对数组的常见操作,Java已经提供好了,并书写在Arrays中。在程序中是可以直接使用的。
public class Demo {
public static void main(String[] args) {
// 定义数组
int[] arr = { 23, 15, 67, 25, 90, 33 };
// 打印数组
System.out.println( Arrays.toString(arr) );
// 数组排序
Arrays.sort(arr);
System.out.println( Arrays.toString(arr) );
}
}
程序运行结果:
https://www.zhihu.com/video/1065371024874348544
二维数组介绍
- 什么是二维数组
数组是一种容器,可以保存多个相同类型的数据;
在内存的角度看,数组就是内存中连续在一起的多个存储空间;
如果一个数组中保存的数据的类型就是数组类型,那么数组中每个存储单元中都保存的是一个其他数组的内存地址;
这种数组的数组就叫做二维数组;
https://www.zhihu.com/video/1065371149952786432
二维数组使用演示
- 二维数组的格式
int[][] arr = new int[2][3];//表示创建一个二维数组;这个二维数组的每一个元素都是一个一维数组;
//上面声明中的数字2表示声明的二维数组的长度是2;3表示二维数组中每个一维数组的长度是3;
二维数组的使用
https://www.zhihu.com/video/1065371417675104256
数组使用总结
- 数组的特点
- 数组是容器,可以保存相同类型的数据;
- 数组是容器,都具有容量,通过length属性获取;一个数组创建完成之后,容量大小不可改变;
- 数组中的元素都具有索引,索引是整数,从0开始,连续递增,最大索引是数组容量减一;
- 数组使用场景
- 有多个数据要保存,数据类型一样;
- 数据的数量要确定;(如果不确定,就不知道创建多大的数组合适)
如果数据很多,但是数据类型不一样,或者数据总数也不确定;这个时候就要使用新的容器:集合