当前位置:网站首页>3.List接口与实现类
3.List接口与实现类
2022-08-09 09:23:00 【过来我的小熊】
List接口与实现类
List子接口
特点:有序,有下标,元素可以重复
List接口继承了Collection接口,所以拥有Collection接口的方法,另外还有一些自己的方法
方法:
- void add(int index, Object o) 在index位置插入对象o
- boolean addAll(int index, Collection c) 将一个集合中的元素添加到此集合中的index位置
- Object get(int index) 返回集合中指定位置的元素
- List subList(int fromIndex, int toIndex) 返回fromIndex和toIndex之间的集合元素
- iterator() 迭代器
- listIterator() 列表迭代器,与Iterator的区别就是,listiterator可以向前或向后遍历,添加,删除,修改
- hasNext() 判断第一个元素是否存在
- nextIndex() 获取向后遍历元素下标
- hasPrevious() 判断最后一个元素是否存在
- previousIndex() 获取向前遍历元素下标
- indexof() 获取元素的下标
在添加基本类型时,系统会执行一个自动装箱操作,所以在删除基本类型数据时,需要把基本类型数据转为包装类
List实现类
- ArrayList【重点】:
- 数组结构实现,查询快,增删慢
- JDK1.2版本,运行效率快,线程不安全
- 遍历:迭代器
- 源码分析
- 数组的默认容量为10
- 注意:如果没有向集合中添加元素时,容量为0,在添加了一个元素之后,容量为10,每次扩容大小是原来的1.5倍
- elementData 存放元素的数组
- size 实时元素个数
- add() 添加元素
- Vector:
- 数组结构实现,查询快,增删慢
- JDK1.0版本,运行效率慢,线程安全
- 遍历:迭代器,枚举器
- 其他方法:firstElement(),lastElement(),elementAt()
- LinkedList:
- 双向链表结构实现,增删快,查询慢
ArrayList 与 LinkedList 之间的区别:(不同结构的实现方式)
- ArrayList:必须开辟连续空间,查询快,增删慢,采用数据结构实现
- LinkedList:无需开辟连续空间,查询慢,增删快,采用双向链表结构实现
边栏推荐
- QT sets the icon of the exe executable
- 本体开发日记04-努力理解protege的某个方面
- 约瑟夫问题的学习心得
- What does the test plan include?What is the purpose and meaning?
- 接口测试的概念、目的、流程、测试方法有哪些?
- 软件测试面试题目:请你列举几个物品的测试方法怎么说?
- MySQL查漏补缺(四)存储过程和游标
- Ontology Development Diary 01-Jena Configuration Environment Variables
- 可以写进简历的软件测试项目实战经验(包含电商、银行、app等)
- map去重代码实现
猜你喜欢
随机推荐
运行flutter项目时遇到的问题
教你如何免费获取0.1米高精度卫星地图
2.线程创建
一个项目的整体测试流程有哪几个阶段?测试方法有哪些?
高清卫星地图浏览器
本体开发日记05-努力理解SWRL(Usage Suggestions)
学习栈的心得和总结(数组实现)
一篇文章让你彻底搞懂关于性能测试常见术语的定义
年薪40W测试工程师成长之路,你在哪个阶段?
What are the basic concepts of performance testing?What knowledge do you need to master to perform performance testing?
MySQL Leak Detection and Filling (3) Calculated Fields
Django实现对数据库数据增删改查(二)
The era of Google Maps is over, how to view high-definition satellite image maps?
GBase数据库产生迁移工具假死的原因是什么?
GBase数据库中,源为 oracle 报出“ORA-01000:超出打开游标最大数”
MVCC multi-version concurrency control
JMeter参数化4种实现方式
本体开发日记01-Jena配置环境变量
这12个GIS软件一个比一个好用
第四讲 SVN