LinkedList常用方法

导读:本篇文章讲解 LinkedList常用方法,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一、介绍

链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。链表可分为单向链表和双向链表。

LinkedList和ArrayList的区别

Java LinkedList(链表) 类似于 ArrayList,是一种常用的数据容器。

与 ArrayList 相比,LinkedList 的增加和删除的操作效率更高,而查找和修改的操作效率较低。

以下情况使用 ArrayList :

  • 频繁访问列表中的某一个元素。
  • 只需要在列表末尾进行添加和删除元素操作。

以下情况使用 LinkedList :

  • 你需要通过循环迭代来访问列表中的某些元素。
  • 需要频繁的在列表开头、中间、末尾等位置进行添加和删除元素操作。

二、添加元素

方法:add()

代码:

public static void main(String[] args) {
    LinkedList<String> list = new LinkedList<>();
    list.add("1");
    list.add("2");
    list.add("3");
    System.out.println(list);
}

运行结果:

[1, 2, 3]

三、获取元素

方法:get()

代码:

public static void main(String[] args) {
    LinkedList<String> list = new LinkedList<>();
    list.add("1");
    list.add("2");
    list.add("3");
    String s1 = list.get(0);
    String s2 = list.get(1);
    String s3 = list.get(2);
    System.out.println(s1);
    System.out.println(s2);
    System.out.println(s3);
}

运行结果:

1
2
3

四、迭代元素

方法:for  foreach()

代码:

public static void main(String[] args) {
    LinkedList<String> list = new LinkedList<>();
    list.add("1");
    list.add("2");
    list.add("3");
    for (int i = 0 ;i<list.size();i++){
        System.out.println("普通for循环-----"+list.get(i));
    }
    for (String s : list) {
        System.out.println("for循环-----"+s);
    }
    list.forEach(r->{
        System.out.println("forEach-----"+r);
    });
}

运行结果:

普通for循环—–1
普通for循环—–2
普通for循环—–3
for循环—–1
for循环—–2
for循环—–3
forEach—–1
forEach—–2
forEach—–3

五、元素添加到头部

方法:addFirst(E e)

代码:

public static void main(String[] args) {
    LinkedList<String> list = new LinkedList<>();
    list.add("1");
    list.add("2");
    list.add("3");
    System.out.println("添加前---"+list);
    list.addFirst("4");
    System.out.println("添加后---"+list);

}

运行结果:

添加前—[1, 2, 3]
添加后—[4, 1, 2, 3]

六、元素添加到尾部

方法:addLast(E e)

代码:

public static void main(String[] args) {
    LinkedList<String> list = new LinkedList<>();
    list.add("1");
    list.add("2");
    list.add("3");
    System.out.println("添加前---"+list);
    list.addLast("4");
    System.out.println("添加后---"+list);

}

运行结果:

添加前—[1, 2, 3]
添加后—[1, 2, 3, 4]

七、清空链表

方法: clear()

代码:

public static void main(String[] args) {
    LinkedList<String> list = new LinkedList<>();
    list.add("1");
    list.add("2");
    list.add("3");
    list.clear();
   System.out.println(list);
}

运行结果:

[ ]

八、删除指定位置的元素

方法:  remove(int index)

代码:

public static void main(String[] args) {
    LinkedList<String> list = new LinkedList<>();
    list.add("1");
    list.add("2");
    list.add("3");
    System.out.println("删除前---"+list);
    list.remove(0);
    System.out.println("删除后---"+list);
}

运行结果:

删除前—[1, 2, 3]
删除后—[2, 3]

九、查找指定元素从前往后第一次出现的索引

方法:indexOf()

代码:

public static void main(String[] args) {
    LinkedList<String> list = new LinkedList<>();
    list.add("1");
    list.add("1");
    list.add("2");
    list.add("2");
    list.add("3");
    list.add("3");
    list.add("3");
    int i = list.indexOf("1");
    System.out.println(i);
}

运行结果:

0

十、克隆列表

方法:clone()

代码:

public static void main(String[] args) {
    LinkedList<String> list = new LinkedList<>();
    list.add("1");
    list.add("2");
    list.add("3");
    System.out.println("创建的list-----"+list);
    Object clone = list.clone();
    System.out.println("复制的list-----"+clone);
}

运行结果:

创建的list—–[1, 2, 3]
复制的list—–[1, 2, 3]

十一、返回链表元素个数

方法:size()

代码:

public static void main(String[] args) {
    LinkedList<String> list = new LinkedList<>();
    list.add("1");
    list.add("2");
    list.add("3");
    int size = list.size();
    System.out.println(size);
}

运行结果:

3

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/119905.html

(0)
seven_的头像seven_bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!