type
status
date
slug
summary
tags
category
icon
password
前言
数组,是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,可以通过编号的形式对这些数据进行统一管理。
数组的常见概念:数组名、角标下标或索引,元素、数组的长度
数组的特点
数组的特点:
1. 存储的元素类型都是兼容的
2. 存储的元素是有序排列的的,可以通过序号(下标,索引)来操作元素
3. 数组的长度一旦确定,就不能修改
4. 创建数组对象会在内存中开辟一整块连续的空间,区别与链表是不连续的
5. 数组属于引用类型变量,而数组中的元素既可以是基本数据类型,也可以是引用数据类型
数组就是按照一定顺序,存储兼容类型元素的固定长度的容器
数组的分类
- 照维数:一维数组、二维数组...
- 照数组元素的类型:基本数据类型元素的数组、引用数据类型元素的数组
数组的声明
Java里的数组,要么指定长度,要么指定内容。不能既指定长度又指定内容,也不能不指定长度也不指定内容
数组的分类
- 按照维度,分为一维数组、二维数组
- 按照数据元素类型:基本数据类型元素的数组、引用数据类型元素的数组
数组的默认值
数组如果只指定长度,不指定内容,数组里的元素是有值的,使用的是默认值数组元素的默认值和数组的类型有关
数组类型 | 默认值 |
byte/short/int/long | 0 |
float / double | 0.0 |
boolean | false |
char | 空字符 0 \u0000 |
引用数据类型 | null空对象 |
一维数组的内存解析

数组的遍历
复制一个数组
反转一个数组
生成数组(元素为指定区间的随机整数)
统计最高分及下标
判断元素是否存在
判断元素是否存在,并输出全部下标
数组常见异常
空指针:NullPointerException
下表越界:ArrayIndexOutOfBoundsException
一旦程序出现异常,未处理时,就终止执行。
排序
十大排序算法
选择排序:直接排序、堆排序
交换排序:冒泡排序、快速排序
插入排序:直接插入排序、折半插入排序,shell排序
归并排序:
桶式排序:
基式排序:
知道有10种排序,红色的两个需要会手写,橙色的了解
算法五大特征
输入、输出、有穷性、确定性、可行性;
常见排序的时间复杂度
快排的时间复杂度\堆排序\归并排序:O(nlog2n)
冒泡排序时间复杂度 O(n^2)

冒泡排序优化前
冒泡排序优化后
二分查找
二分查找 也叫折半查找,前提是要查找的数据必须要经过排序
生成扑克牌
统计数组内英文字母的出现次数
判断某数组中内容对称与否
判断两数组内容是否相等
生成验证码
Arrays工具类的使用
- 定义在java.util包下
- Arrays:提供了很多操作数组的方法。
- 作者:tacjin
- 链接:http://jin.wiki/article/97820660-78bf-4deb-b62d-6ee8d9780da7
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。