数组:
数组是相同类型数据的有序集合
数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成
每一个数据称作一个数组元素,每个数组元素都可以通过下标来查找
数组声明和创建:
首先得声明数组变量,才能在程序中使用数组。
用new操作符来创建数组
数组的元素是通过索引访问的,从0开始
获取数组长度:arrays.length
Java内存:
堆:存放new的对象和数组
可以被索引的线程共享,不会存放别的对象引用
栈:存放基本变量类型
引用对象的变量
方法区:可以被所有的线程共享
包含了所有的class和static变量
数组初始化:
静态初始化
动态初始化
默认初始化
数组的基本特点:
长度确定的,数组一但被创建,其大小就是不可以改变的
其元素类型相同
数组的元素可以是任何数据类型,包括基本类型和引用类型
数组的变量属于引用类型,数组可以看成是对象,数组的每个元素相当于是成员变量
数组的使用:
普通的for循环
for-Each循环:for(int array:arrays)
数组作方法入参 public static void printArray(int[] arrays) 此时arrays数组作为参数
数组作返回值 public static int[] reverse(int[] arrays) 此时这个方法是把数组作为返回值
多维数组:
多维数组可以看出是数组的数组
int a[][]=new int[2][5];
Arrays类:
数组的工具类:java.util.Arrays
常用的功能:
给数组赋值:通过fill方法
对数组排序:通过sort方法,按升序
比较数组:通过equals
查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作
冒泡排序:
1.比较数组中两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置
2.每一次比较都会产生一个最大的,或者最小的数字
3.下一轮则可以少一次排序
4.依次循环,直到结束
稀疏数组