| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 源码阅读:list结构体阅读 -> 正文阅读 |
|
[Java知识库]源码阅读:list结构体阅读 |
java.util中list类的代码阅读 list接口是一个有序的接口,使用这个接口用户可以精确控制每个元素在列表中的插入位置。可以通过下标来对元素的位置进行检索 和set不同的是,list是允许集合当中有重复元素的,并且如果这个list集合石允许有null元素存在的,它也允许有多个重复的null元素存在 list结构通常会允许有两个完全相等的结构存在,并且list中是允许有多个null元素存在的。如果你希望自己构建出来的集合中没有重复元素,那就不要使用list这种数据结构 在list接口中有一些比Collection集合更多的额外的规定,同时Collection集合中原有的一些方法:iterator、add、remove、equals、hashcode这几个原来父接口有的方法list作为子接口也是可以直接使用的 list接口提供了四个和操作位置有关的方法去操作它的结构体中的元素,list结构就像arrays数组一样,它的位置计算都是从0下标开始的。 list接口提供了一个特殊的迭代器,叫做ListIterator,这个ListIterator迭代器可以用来操作插入和替换元素。这个Iterator接口提供除了正向操作还能双向操作,这个方法提供了一种可以获取list的迭代器从一个特殊的指定位置开始迭代访问 list接口提供了2个方法可以用来检索匹配一个对象,但是从性能角度来看,应该谨慎的使用者两个方法。早很多实现中,它们是采用线性搜索的方式来实现的。关于线性查找资料:https://blog.csdn.net/u014494703/article/details/51276361 list接口提供了2个在列表中的任意点进行高效的插入和移除重复元素的方法 注意📢: 虽然允许列表将自身包含为元素,但建议格外小心:equals 和 hashCode 方法不再在此类列表中得到很好的定义,在使用的时候需要特别小心。 在一些list中对它们可能包含的元素有限制。例如,有些实现禁止空元素,有些实现对其元素的类型有限制。尝试添加不合格的元素会引发未经检查的异常,通常是NullPointerException 或ClassCastException。 list集合中继承了Collection接口中的方法有: replaceAll方法:这个方法的具体实现也可看ArrayList中的replaceAll实现。
list中的sort排序方法的说明: 关于list中的迭代器的实现: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 7:07:54- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |