java - java的LinkedList类中的元素是否有索引?

标签 java collections

java的LinkedList类中的元素有索引吗? 如果 那么当它可以直接使用对象的索引进行搜索时,为什么在搜索操作的最坏情况下它的性能为 o(n)? 如果 那么我们如何使用void add(int index, Object item) 方法在链表的中间插入一个对象?

最佳答案

它们有一个逻辑索引,是的 - 实际上是您需要迭代的次数,从头部开始,在到达该节点之前。

这与说“它可以使用对象的索引直接搜索”不同——因为它不能。

通常 O(1) 的索引访问是通过使用数组查找执行的,在链表的情况下,不是数组 - 只有节点链。要访问索引为 N 的节点,您需要从头部开始并沿着链走 N 次...这是一个 O(N) 操作。

关于java - java的LinkedList类中的元素是否有索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31498848/

相关文章:

java - 将 double 组转换为 double ArrayList

java - 在较大的二维数组中查找较小的二维数组

java - 如何知道文件的哪一行发生了IO异常

带有对象的 Java 列表 - 如果具有特定属性的对象已存在,则查找并替换(删除)条目

java - 我不知道如何在java中以模块化方式创建单位、具有基本统计数据的可玩角色

javascript - 通过数组值从集合中获取项目

swift - 在 Swift 中按类型和属性对异构集合进行排序

java - 是什么导致了 jmh 测量的错误?

java - 字体突然改变 - Eclipse

java - 如何在 ZipEntry 中书写汉字?