-
数组概述
定义:是相同类型的有序集合。
数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。
-
数组声明创建
//变量的类型 变量的名字=变量的值; //数组类型 int[] nums;//推荐 int nums[]; int[] nums=new int[10];//可以存放十个int类型的数字 arrays.length//获取数组长度
public class Demo02 { public static void main(String[] args) { int[] nums;//声明一个数组 nums=new.int[10];//创建一个数组 //给数组元素赋值 nums[0]=1; nums[1]=2; nums[2]=2; nums[3]=3; nums[4]=4; System.out.println(nums[0]); } } public class Demo02 { public static void main(String[] args) { //静态初始化:创建+赋值 int[] a={1,2,3,4,5}; System.out.println(a[0]); //动态初始化:包含默认初始化 int[] b=new int[]10; b[0]=10; b[1]=10; System.out.println(b[0]); System.out.println(b[1]); System.out.println(b[2]); System.out.println(b[3]); } } //ArrayIndexOutOfBoundsException:数组下标越界异常! -
数组使用
//1.for-each public class Demo03 { public static void main(String[] args) { int[] Arrays={0,1,2,3,4,5}; for(int array:Arrays){ System.out.println(array); } } //打印数据元素 public static void printArray(int[] arrays){ for(int i=0;i-
普通的for循环
-
for-each循环
-
数组作方法入参
-
数组作返回值
-
-
多维数组
-
Arrays类
-
稀疏数组
- java内存 分析
-
堆:存放new的对象和数组(可以被所有的线程共享,不会存放别的对象引用)
-
栈:存放基本变量类型(包含基本类型的具体数值)
引用对象的变量(存放这个引用在堆里面的具体地址)。
-
方法区:可以被所有的线程共享
包含了所有的class和static变量。
int[][] arrays={{0,1},{1,2},{2,3}}; -
-
Arrays类
-
数组赋值:通过fill方法
-
给数组排序:通过sort()方法升序
-
比较数组:通过equals方法比较数组中元素值是否相等
-
查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找操作。
public class Demo01 { public static void main(String[] args) { int[] num={1,900,50,600}; System.out.println(num);//[I@776ec8df结果为哈希值 //调用Arrays库中的toString方法输出数组 System.out.println(Arrays.toString(num)); } }
冒泡排序
两层循环,外层冒泡轮数,里层依次比较。
时间复杂度为O(n2)
稀疏数组
是一种数据结构
当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组
-



