前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java集合框架-LinkedList

java集合框架-LinkedList

原创
作者头像
玖叁叁
发布2023-05-07 13:21:41
920
发布2023-05-07 13:21:41
举报
文章被收录于专栏:玖叁叁

LinkedList 是 Java 集合框架中的一种数据结构,实现了 List 接口,也可以被当做队列和栈来使用。LinkedList 内部使用双向链表实现,可以在任意位置插入或删除元素。

创建 LinkedList

LinkedList 可以通过无参构造函数来创建:

代码语言:javascript
复制
LinkedList<String> linkedList = new LinkedList<>();

也可以通过将一个 Collection 对象传入 LinkedList 构造函数来创建:

代码语言:javascript
复制
List<String> arrayList = new ArrayList<>();
arrayList.add("A");
arrayList.add("B");
arrayList.add("C");

LinkedList<String> linkedList = new LinkedList<>(arrayList);

常用操作

添加元素

可以使用 add() 方法向 LinkedList 中添加元素,该方法会将元素添加到链表的末尾:

代码语言:javascript
复制
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("A");
linkedList.add("B");
linkedList.add("C");

可以使用 addFirst() 方法向 LinkedList 的头部添加元素,使用 addLast() 或者 add() 方法添加元素等价于在尾部添加元素:

代码语言:javascript
复制
javaCopy codeLinkedList<String> linkedList = new LinkedList<>();
linkedList.addFirst("A");
linkedList.addLast("B");
linkedList.add("C");

获取元素

可以使用 get() 方法来获取 LinkedList 中的元素,该方法接受一个整数作为参数,表示要获取的元素在链表中的索引,索引从 0 开始:

代码语言:javascript
复制
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("A");
linkedList.add("B");
linkedList.add("C");

String first = linkedList.get(0);
String last = linkedList.get(2);

删除元素

可以使用 remove() 方法来删除 LinkedList 中的元素,该方法接受一个整数作为参数,表示要删除的元素在链表中的索引,索引从 0 开始:

代码语言:javascript
复制
javaCopy codeLinkedList<String> linkedList = new LinkedList<>();
linkedList.add("A");
linkedList.add("B");
linkedList.add("C");

String removedElement = linkedList.remove(1);

可以使用 removeFirst() 和 removeLast() 方法来删除头部和尾部元素:

代码语言:javascript
复制
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("A");
linkedList.add("B");
linkedList.add("C");

String first = linkedList.removeFirst();
String last = linkedList.removeLast();

可以使用 clear() 方法来清空 LinkedList 中的所有元素:

代码语言:javascript
复制
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("A");
linkedList.add("B");
linkedList.add("C");

linkedList.clear();

判断元素是否存在

可以使用 contains() 方法来判断 LinkedList 中是否包含某个元素:

代码语言:javascript
复制
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("A");
linkedList.add("B");
linkedList.add("C");

boolean containsA = linkedList.contains("A"); // true
boolean containsD = linkedList.contains("D"); // false

获取元素的索引

可以使用 indexOf() 和 lastIndexOf() 方法来获取 LinkedList 中某个元素的索引。其中,indexOf() 方法返回第一个匹配当对LinkedList进行添加或删除操作时,不需要像ArrayList一样进行数组元素的移动,而是只需要更改节点的指向即可,因此在添加或删除元素时,LinkedList的性能更好。然而,在随机访问元素时,LinkedList的性能较差,因为它需要遍历整个链表才能找到对应的元素。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建 LinkedList
  • 常用操作
    • 添加元素
      • 获取元素
        • 删除元素
          • 判断元素是否存在
            • 获取元素的索引
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档