List接口的实现类LinkedList
程序员文章站
2022-07-10 09:22:02
...
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。
下一篇: Linux下的sort排序命令详解