学习-java集合类之list的linkedlist之特有方法的使用
时间: 2023-05-31 12:19:55 浏览: 220
java集合-LinkedList的使用
### 回答1:
LinkedList是Java中集合类之一,是一个双向链表。它特有的方法包括:
1. addFirst(E e):将指定元素插入此列表的开头。
2. addLast(E e):将指定元素插入此列表的结尾。
3. getFirst():返回此列表的第一个元素。
4. getLast():返回此列表的最后一个元素。
5. removeFirst():移除并返回此列表的第一个元素。
6. removeLast():移除并返回此列表的最后一个元素。
7. offerFirst(E e):在此列表的开头插入指定的元素。
8. offerLast(E e):在此列表的结尾插入指定的元素。
9. pollFirst():获取并移除此列表的第一个元素,如果此列表为空,则返回 null。
10. pollLast():获取并移除此列表的最后一个元素,如果此列表为空,则返回 null。
### 回答2:
List是Java集合类中常用的一种,而LinkedList是List集合中的一种实现,和ArrayList相比,它具有一些独特的方法。
首先,LinkedList支持在list开头和结尾添加元素的方法。即addFirst(E e)和addLast(E e)。这两个方法在其他List实现中是没有的。这对于链表来说非常方便,因为在链表中,添加元素时只需要修改指针的指向即可,而不用像数组一样需要移动其他元素。
其次,LinkedList支持获取链表的头部和尾部元素的方法。即getFirst()和getLast()。同样,其他List实现中也没有这种方法,这也是LinkedList适合做队列和栈这种数据类型的原因之一。
除了这些独有的方法之外,LinkedList还具有一些其他List实现也有的方法。例如remove(int index)和size()方法就是常规List接口所具有的。LinkedList还实现了Queue和Deque接口,使得LinkedList也可以充当队列和双端队列。
需要注意的一点是,由于LinkedList是链表的形式,所以访问其中的元素时速度比较慢。因此,在需要随机访问元素的情况下,最好使用ArrayList。但是,当需要频繁在开头和结尾添加或删除元素时,LinkedList则具有明显的优势。
总之,LinkedList是List集合中的一种实现,它具有一些独特的方法,如addFirst,getFirst等方法。同时,它也可以作为队列、栈、双端队列等数据结构的实现。但是在需要随机访问元素的情况下,建议使用其他List实现,如ArrayList。
### 回答3:
Java集合类是Java编程中常用的工具之一,List是其中一种很重要的集合类。LinkedList是List的一种实现方式,LinkedList在插入和删除数据方面比较快。本文将会介绍LinkedList的特有方法的使用。
LinkedList继承了AbstractSequentialList,也实现了List、Deque、Cloneable、Serializable接口。由于LinkedList的底层实现是双向链表,因此它具有插入和删除元素效率高的特点。
下面是LinkedList特有的方法:
1. public void addFirst(E e),将指定元素添加到此列表的开头:
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("Java");
linkedList.add("Python");
linkedList.addFirst("C++");
System.out.println(linkedList); // [C++, Java, Python]
2. public void addLast(E e),将指定元素添加到此列表的结尾:
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("Java");
linkedList.add("Python");
linkedList.addLast("C++");
System.out.println(linkedList); // [Java, Python, C++]
3. public E removeFirst(),删除并返回此列表的第一个元素:
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("Java");
linkedList.add("Python");
linkedList.add("C++");
String first = linkedList.removeFirst();
System.out.println(first); // Java
System.out.println(linkedList); // [Python, C++]
4. public E removeLast(),删除并返回此列表的最后一个元素:
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("Java");
linkedList.add("Python");
linkedList.add("C++");
String last = linkedList.removeLast();
System.out.println(last); // C++
System.out.println(linkedList); // [Java, Python]
5. public E getFirst(),返回此列表的第一个元素:
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("Java");
linkedList.add("Python");
linkedList.add("C++");
String first = linkedList.getFirst();
System.out.println(first); // Java
6. public E getLast(),返回此列表的最后一个元素:
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("Java");
linkedList.add("Python");
linkedList.add("C++");
String last = linkedList.getLast();
System.out.println(last); // C++
7. public E peekFirst(),获取但不移除此列表的第一个元素:
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("Java");
linkedList.add("Python");
linkedList.add("C++");
String first = linkedList.peekFirst();
System.out.println(first); // Java
System.out.println(linkedList); // [Java, Python, C++]
8. public E peekLast(),获取但不移除此列表的最后一个元素:
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("Java");
linkedList.add("Python");
linkedList.add("C++");
String last = linkedList.peekLast();
System.out.println(last); // C++
System.out.println(linkedList); // [Java, Python, C++]
9. public boolean offerFirst(E e),将指定元素插入此列表的开头:
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("Java");
linkedList.add("Python");
boolean result = linkedList.offerFirst("C++");
System.out.println(result); // true
System.out.println(linkedList); // [C++, Java, Python]
10. public boolean offerLast(E e),将指定元素插入此列表的结尾:
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("Java");
linkedList.add("Python");
boolean result = linkedList.offerLast("C++");
System.out.println(result); // true
System.out.println(linkedList); // [Java, Python, C++]
LinkedList是一个非常实用的Java集合类,我们可以根据自己的需求选择使用其中的特有方法。在实际开发中,结合List可以方便地实现队列和栈的操作。
阅读全文