首页 > 其他分享 >LinkedList

LinkedList

时间:2023-12-02 18:22:20浏览次数:40  
标签:index LinkedList int 元素 list element

LinkedList是Java中一种常用的数据结构,它使用双向链表实现。

特点:

  高效的插入和删除操作:LinkedList在列表的头部和尾部进行添加和删除操作的复杂度为O(1),高效且方便。

  动态大小:LinkedList的大小可以根据需要自动调整,无需手动分配内存。

  支持null元素:LinkedList允许插入和删除null元素。

  迭代顺序:LinkedList的迭代器按照链表的插入顺序进行迭代。

LinkedList适用于需要频繁插入和删除元素的情况,但LinkedList不支持随机访问,获取元素的复杂度为O(n),因此如果需要频繁访问元素,建议使用ArrayList。

LinkedList可以通过Node类实现,每个节点包含一个数据域和两个指针,分别指向前一个节点和后一个节点。LinkedList类中维护了一个头节点和尾节点的指针,方便进行添加和删除操作。

JDK中LinkedList的方法:

boolean add(E e)    //尾插e

void add(int index,E element)    //将e插入到index位置

boolean addAll(Collection<? extends E> c)    //尾插c中的元素

E remove(int index)    //删除Index位置的元素

boolean remove(Object o)    //删除遇到的第一个o

E get(int index)    //获取下标index位置的元素

E set(int index,E element)    //将下标为index位置的元素设置为element

void clear()    //清空

boolean contains(Object o)    //判断o是否在线性表中

int indexOf(Object o)    //返回第一个o所在下标

int lastIndexOf(Object o)    //返回最后一个o所在下标

List<E>subList(int fromIndex,int toIndex)    //截取部分list

方法实现代码示例:

import java.util.LinkedList;  
  
public class LinkedListExample {  
    public static void main(String[] args) {  
        // 创建一个空的LinkedList  
        LinkedList<String> list = new LinkedList<String>();  
  
        // 在列表的头部添加元素  
        list.addFirst("Hello");  
  
        // 在列表的尾部添加元素  
        list.addLast("World");  
  
        // 在列表的指定位置插入元素  
        list.add(1, "Java");  
  
        // 获取列表的大小  
        int size = list.size();  
        System.out.println("Size: " + size);  
  
        // 获取列表中的元素  
        String element = list.get(0);  
        System.out.println("Element at index 0: " + element);  
  
        // 删除列表中的元素  
        list.remove(1);  
        System.out.println("After removing element at index 1:");  
        for (String s : list) {  
            System.out.println(s);  
        }  
    }  
}

标签:index,LinkedList,int,元素,list,element
From: https://www.cnblogs.com/kandh/p/17871981.html

相关文章

  • java集合框架(二)之LinkedList的常见使用
     常用的方法定义LinkedList对象  新增  删除 获取元素 修改 ......
  • java集合框架(二)LinkedList的常见使用
    LinkedList常用方法定义LinkedList对象LinkedList<String>list=newLinkedList<>(); 插入元素list.push("张三");//在此列表的前面插入元素list.addLast("新增到最后一个元素");//将指定的元素追加到此列表的末尾。list.addFirst("新增到第......
  • LinkedList的常用方法
    介绍LinkedList类是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。Java的LinkedList底层是一个双向链表,位于java.util包中,使用前需要引入它LinkedListLinkedList是一个继承于AbstractSequentialList的双......
  • ArravList,LinkedList,Vector的相同点与区别
    ArravList,LinkedList,Vector的特性ArrayList:动态数组,使用的时候,只需要操作即可,内部已经实现扩容机制。线程不安全有顺序,会按照添加进去的顺序排好基于数组实现,随机访问速度快,插入和删除较慢一点可以插入null元素,且可以重复Vector和前面说的ArrayList很是类似,这里说的也......
  • 集合框架(二)LinkedList的常见使用
    一、介绍链表(Linkedlist)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。链表可分为单向链表和双向链表。以下情况使用LinkedList:你需要通过循环迭代来访问列表中的某些元素。需要频繁的在列表开头、中间、末尾......
  • Java 中ArrayList,LinkedList,Vector集合的相同点与区别是什么?
    ArrayList,LinkedList和Vector都继承自List接口。ArrayList和Vector的底层是动态数组,LinkedList的底层是双向链表.  ArrayList,LinkedList,Vector的区别我们先来了解ArravListArrayList:的数据结构是数组特点:查询快,增删慢,效率高,但是线程不安全Vector:数据结构是数组特点:查询快,......
  • 集合LinkedList的常见使用
    什么是LinkedList集合LinkedList集合是Java编程语言中的一种双向链表数据结构,它实现了List接口和Deque接口。与ArrayList类似,LinkedList也是一种动态数组,可以根据需要动态地增加或减少元素的大小。然而,LinkedList与ArrayList在内部实现和性能方面有所不同Lin......
  • 集合框架(二)LinkedList的常见使用
    LinkedList:非同步集合LinkedList不是同步集合,如果需要在多线程环境下访问该集合,需要手动实现线程同步。双向链表实现LinkedList内部使用双向链表来表示集合元素,每个节点都存储了元素、前驱节点和后继节点信息。添加/删除元素的效率较高由于是链表实现,LinkedList的添加/删除......
  • ArrayList、LinkedList、Vector三种Java集合框架的同义
    ArrayList、LinkedList、Vector是Java集合框架中的三种数据结构,它们的相同点和不同点如下:相同点:都实现了List接口,可以存储有序的元素序列,可以允许重复元素的存在;都支持随机访问(根据元素的索引访问元素),并且访问效率较高;都支持添加、删除、修改等操作,可以动态调整集合中的元素......
  • LinkedList的常见使用方法
    1、addbooleanadd(Ee):在链表后添加一个元素,如果成功,返回true,否则返回false;voidaddFirst(Ee):在链表头部插入一个元素;addLast(Ee):在链表尾部添加一个元素;voidadd(intindex,Eelement):在指定位置插入一个元素。 2、removeEremove():移除链表中第一个元素;booleanremove(Ob......