浅触数组列表
来源:互联网 发布:厄米特矩阵的逆也是 编辑:程序博客网 时间:2024/06/08 01:19
一、数组列表相对于数组而言具有以下特点:
1.大小不固定,数组列表长度可以根据元素的个数动态变化,节约存储空间。
2.存储类型可以不同,使用更灵活。
1.在定义类时类名后用< >表示,< >中常用的有: E:元素 K:key V:值
如:public class MyArrayList<E>{ }
2. 在创建对象时候类名后< >中用明确指定具体类型。
如:MyArrayList<String> list = new MyArrayList<String>();
3.泛型只能表示引用类型,例如int类型可以用Integer表示。
如:MyArrayList<int> list = new MyArrayList<int>(); // error
MyArrayList<int> list = new MyArrayList<int>(); // ok
三、方法的实现
1. 添加元素
创建一个新的数组,大小比原数组大一,通过循环将原数组存入新数组,在最后存入新元素。
2. 删除元素
创建一个新的数组,长度比原数组小一,循环存入要删除元素之前和之后的元素
3. 获取元素
return (E)data[index];
4. 获取大小
return size;
5. 插入元素
创建一个新的数组,长度比原数组大一,循环存入插入元素位置之前的元素,存入要插入的元素,循环存入要插入元素位置之后的元素
6. 修改元素
创建一个新的数组,长度和原数组一样,循环存入要修改元素之前的元素,存入要修改的元素,循环存入要修改元素之后的元素
7. 是否包含某个元素
遍历数组,对比元素,存在返回true,否则,返回false
8. 列表合并
创建一个新的数组,长度是两个要合并的列表长度之和,循环存入两个原列表的元素。
总结:通过对方法的了解,可以得出结论:
1. ArrayList可以高效的访问元素
2. 在ArrayList中间插入或删除一个元素意味着这个列表中剩余的元素都会被移动,插入的元素越靠前,变化越大。LinkList插入删除只需要改变插入元素之前和之后的两个指针的指向
1.大小不固定,数组列表长度可以根据元素的个数动态变化,节约存储空间。
2.存储类型可以不同,使用更灵活。
3.可以定义多种方法,如添加元素、 删除元素、获取元素、获取大小、插入元素、修改元素、是否包含某个元素、列表合并。
1.在定义类时类名后用< >表示,< >中常用的有: E:元素 K:key V:值
如:public class MyArrayList<E>{ }
2. 在创建对象时候类名后< >中用明确指定具体类型。
如:MyArrayList<String> list = new MyArrayList<String>();
3.泛型只能表示引用类型,例如int类型可以用Integer表示。
如:MyArrayList<int> list = new MyArrayList<int>(); // error
MyArrayList<int> list = new MyArrayList<int>(); // ok
三、方法的实现
1. 添加元素
创建一个新的数组,大小比原数组大一,通过循环将原数组存入新数组,在最后存入新元素。
2. 删除元素
创建一个新的数组,长度比原数组小一,循环存入要删除元素之前和之后的元素
3. 获取元素
return (E)data[index];
4. 获取大小
return size;
5. 插入元素
创建一个新的数组,长度比原数组大一,循环存入插入元素位置之前的元素,存入要插入的元素,循环存入要插入元素位置之后的元素
6. 修改元素
创建一个新的数组,长度和原数组一样,循环存入要修改元素之前的元素,存入要修改的元素,循环存入要修改元素之后的元素
7. 是否包含某个元素
遍历数组,对比元素,存在返回true,否则,返回false
8. 列表合并
创建一个新的数组,长度是两个要合并的列表长度之和,循环存入两个原列表的元素。
总结:通过对方法的了解,可以得出结论:
1. ArrayList可以高效的访问元素
2. 在ArrayList中间插入或删除一个元素意味着这个列表中剩余的元素都会被移动,插入的元素越靠前,变化越大。LinkList插入删除只需要改变插入元素之前和之后的两个指针的指向
因此需要频繁地使用插入删除操作时可以使用底层为链表实现的LinkList,在需要读取元素时,ArrayList更为高效。
以上理解有不对的地方,求告知。
0 0
- 浅触数组列表
- c# 数组 数组列表 列表 foreach
- javascript 数组列表
- 1210 列表和数组
- 数组和列表
- 列表转为数组
- 数组与列表
- perl列表和数组
- POJ-1885(列表数组)
- 列表、数组学习
- perl列表与数组
- python列表 数组 字典
- Python列表数组字典
- 数组列表容器
- 基于数组级联列表
- 泛型数组列表
- 数组列表 浅学
- java 数组列表
- Leetcode #504 Base 7
- static_cast, dynamic_cast, const_cast探讨
- Opencv 去高光或镜面反射(illuminationChange)
- 素数的判定
- Ubuntu14.04下安装的owncloud8实现https访问
- 浅触数组列表
- 使用matplotlib画简单的等高线图
- GYM 100090 I.Retakes(贪心+优先队列)
- NGUI与UGUI
- javascript闭包操作
- 第五届蓝桥杯【省赛试题1】啤酒和饮料
- [Codeforces570D]Tree Requests(dsu on the tree)
- kmalloc分配大小的限制
- Fiddler2中文乱码问题