01_数组

来源:互联网 发布:形容网络不好的说说 编辑:程序博客网 时间:2024/06/08 11:37

数组简介

数组是内存中联系的一段空间。同一个数据内的查找,速度是非常快得。一般数据是java集合框架Collection的底层实现,和另一种链表。除了基本数据类型外,数组在数据结构里的重要性不言而喻。

数组的创建方式

01: int[] names = {"李","赵"}


数组是引用类型的,names在栈中,”李“,“赵”,在堆中

02: int[] names = new int[10]

在内存中开辟了一个长度为10的空间


数组的查找操作

数组可以通过下标,获取内存中连续空间的引用。因为数组在内存中是一段。连续的空间,所以数组的下标引用,获取值得速度是非常快的。相反的,要插入改变一个数组,要移动连续的数组内对象,所以插入的速度是相对慢的。

01: int n = name【2】

通过下标2,可以查找到下标为2的值。下标从0开始。

数组的插入操作

数组的插入数据。为了保持下标引用的特性,在最糟糕的情况要移动整个数组,往前移动一位,所以插入的速度是相对慢的,O(N)

01: 数组是引用类型的,names在栈中,”李“,“赵”,在堆中
name[i+1] = name [i];

数组的删除操作

和插入数据一样,为了保持下标引用的特性,数组删除的下标,后面的所有值,都要往前移动一个位置。O(N)

01: name[i]= name [i+1];


collection集合框架使用了面向对象的思想封装对对数组的操作


数组的排序算法

1数值型数组的排序算法

1-1冒泡排序

1-2选择排序

1-3插入排序

2对象型数组的排序算法

2数组的查找算法

2-1通用数值型的排序算法,通过对象的某个属性如:age。按照年龄做排序。

2-2字符串类型属性,通过compareTo方法












































组是引用类型的,names在栈中,”李“,“赵”,在堆中
0 0
原创粉丝点击