LinkedList类是List接口的实现类,这意味着它是一个List集合,可以根据索引来随机访问集合中的元素。除此之外,LinkedList还实现了Deque接口,可以被当成双端队列使用,因此既可以被当成“栈”来使用,也可以当成队列使用。
1 代码示例
import java.util.*; public class LinkedListTest { public static void main(String[] args) { LinkedList books = new LinkedList(); // 将字符串元素加入队列的尾部 books.offer("爸爸"); // 将一个字符串元素加入栈的顶部 books.push("妈妈"); // 将字符串元素添加到队列的头部(相当于栈的顶部) books.offerFirst("孩子"); // 以List的方式(按索引访问的方式)来遍历集合元素 for (int i = 0; i < books.size() ; i++ ) { System.out.println("遍历中:" + books.get(i)); } // 访问、并不删除栈顶的元素 System.out.println(books.peekFirst()); // 访问、并不删除队列的最后一个元素 System.out.println(books.peekLast()); // 将栈顶的元素弹出“栈” System.out.println(books.pop()); // 下面输出将看到队列中第一个元素被删除 System.out.println(books); // 访问、并删除队列的最后一个元素 System.out.println(books.pollLast()); // 下面输出:[妈妈 ] System.out.println(books); } }
2 运行结果
遍历中:孩子
遍历中:妈妈
遍历中:爸爸
孩子
爸爸
孩子
[妈妈, 爸爸]
爸爸
[妈妈]
3 代码分析
offer函数相当于“队列进”。push函数相当于从“栈进”。offerFirst相当于从List的0号元素前加入或相当于从“栈进“。System.out.println("遍历中:" + books.get(i));遍历输出,表示从0号元素开始往后索引依次输出。peekFirst访问的索引0。peekLast访问的是最后一个索引,相当于索引7。pop函数相当于“栈出”。pollLast相当于从List的末尾元素出队列,即索引7。
相关推荐
根据给定文件的信息,我们可以提炼出关于Java软件开发中List接口实现类的关键知识点。这部分内容主要聚焦于第11章的“Java集合框架和泛型机制”,特别关注List接口及其几种实现类,包括`ArrayList`、`LinkedList`、`...
常见的List实现类有ArrayList和LinkedList。 **ArrayList类** `ArrayList`是基于数组实现的List,它提供了一个动态增长的数组来存储元素。由于其底层是数组,所以它的随机访问(通过索引)速度非常快。但是,插入和...
它允许包含重复的元素,也允许插入null值,这是区别于Java集合中的另一个List接口实现类LinkedList的重要特点。ArrayList内部通过一个数组来保存其所有元素,这个数组就是ArrayList的“elementData”字段。 ...
【Java基础——List接口详解(ArrayList、LinkedList、匿名类)】 在Java编程中,List接口是集合框架的重要组成部分,提供了有序存储元素的功能。ArrayList和LinkedList是List接口的两种主要实现,它们各有优缺点,...
ArrayList、LinkedList、Vector 是 Java 中常用的数据结构实现类,它们都实现了 List 接口,但它们在存储方式、性能、线程安全性等方面有着不同特点。 首先,ArrayList 和 Vector 都是采用数组方式存储数据的,这种...
在本文中,我们将深入探讨LinkedList如何实现List接口的一些主要方法,并了解其内部工作原理。 1. **添加元素**: LinkedList提供了`add(int index, E element)`和`add(E e)`方法来添加元素。`add(int index, E ...
List接口的实现类有多种,包括ArrayList、Vector、LinkedList、Stack等。 ArrayList类 ArrayList类是List接口的实现类,使用动态数组来存储对象。ArrayList类提供了多种方法来添加、删除、遍历集合中的对象。例如...
List接口有多个实现类,包括ArrayList、LinkedList、Vector和Stack。 1. ArrayList实现类: ArrayList是List接口的一个常见实现,其内部基于动态数组实现。它提供了快速的随机访问,因为数组索引可以直接定位元素。...
LinkedList类是List接口的实现类之一,是数据结构中链表的java实现。相对于List来说,LinkedList最主要的功能方面的增强是可以在List的头部和尾部添加、删除、取得元素,直接提供了这些方法的实现。所以它可以非常...
这篇博客将深入探讨`List`接口及其常用实现类,如`ArrayList`和`LinkedList`,并展示它们的用法。 首先,`List`接口定义了许多方法,允许我们对列表进行基本操作。这些方法包括: 1. `add(E element)`: 向列表末尾...
【List实现类1】主要探讨了Java集合框架中List接口的两种主要实现类:ArrayList和LinkedList,以及Collection和List接口的一些方法。以下是这些知识点的详细解释: 1. **ArrayList** - **成员变量**:ArrayList...
1. **List接口**:`List`是`Collection`的一个子接口,它代表有序的集合,元素可以重复,并且提供了精确的元素插入位置控制。这意味着用户可以通过索引来访问和修改元素。`List`接口的实现类有`ArrayList`和`...
1. **List接口**:`List`是有序的`Collection`,允许存在重复元素。它提供了根据元素位置进行插入、删除和访问的方法。常见的`List`实现类有: - **ArrayList**:基于动态数组实现,提供随机访问的高效性能,但插入...
其主要实现类有LinkedList和ArrayList。 - **LinkedList**:基于链表结构,适用于频繁的插入和删除操作,但随机访问效率较低。 - **ArrayList**:基于动态数组,随机访问快速,但在插入和删除元素时可能需要移动...
首先,LinkedList实现了List接口,因此它是一个有序列表。它还实现了Deque接口,这意味着LinkedList支持双端队列的操作。除了这些接口之外,LinkedList还是Cloneable和java.io.Serializable的,表示它可以被克隆以及...
- **List接口的实现** - **ArrayList**:这是一个基于动态数组实现的列表,提供了随机访问元素的功能,非常适合于频繁的读取操作。当需要增加或删除非尾部元素时,由于需要移动其他元素,因此效率较低。 - **...
- LinkedList 实现了 List 接口,因此可以执行所有 List 相关的操作,如添加、删除、查找元素等。 - LinkedList 同时实现了 Deque 接口,允许作为双端队列使用,可以从前端或后端添加和移除元素。 使用 LinkedList ...
List接口的实现类主要有ArrayList、LinkedList和Vector。 2. **ArrayList** - **实现原理**:ArrayList基于动态数组实现,它提供快速的按索引访问,因为数组支持直接通过索引获取元素。 - **添加和删除**:对于在...
在Java编程语言中,LinkedList是一个实现List接口的类,它以双向链表的形式存储元素。这个数据结构允许我们在列表的任何位置进行插入和删除操作,具有O(1)的时间复杂度,这使得LinkedList在需要频繁进行这些操作时比...
首先,List接口继承于Collection接口,其中的所有方法都被继承,而Collection是无序、无下标,元素不可重复的,List是有序,有下标,元素可以重复,所以,List就有一些自己独有的方法。和数组相比较更加灵活,方便。...