List系列集合
2023-12-18 16:59:05
List集合特点
ArrayList、LinekdList :有序,可重复,有索引。
有序:存储和取出的元素顺序一致
有索引:可以通过索引操作元素
可重复:存储的元素可以重复?
特有API
List集合的遍历方式小结
迭代器
增强for循环
Lambda表达式
for循环(因为List集合存在索引)
ArrayList集合的底层原理
ArrayList底层是基于数组实现的:根据索引定位元素快,增删需要做元素的移位操作。
第一次创建集合并添加第一个元素的时候,在底层创建一个默认长度为10的数组。
示例:
List<String> list = new ArrayList<>();
list.add("a");
?List集合存储的元素要超过容量怎么办?
新建一个数组,大小为原来的1.5倍,把原来的数据拷贝过来再存新元素。
LinkedList集合的底层原理
LinkedList的特点:?
底层数据结构是双链表,查询慢,首尾操作的速度是极快的,所以多了很多首尾操作的特有API。
LinkedList集合的特有功能:
总结
1、List系列集合特点 ?
ArrayList、LinekdList :有序,可重复,有索引。
2、List的实现类的底层原理 ?
ArrayList底层是基于数组实现的,根据查询元素快,增删相对慢。
LinkedList底层基于双链表实现的,查询元素慢,增删首尾元素是非常快的。?
文章来源:https://blog.csdn.net/daqi1983/article/details/135063083
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!