LinkedList 使用巩固及图解
LinkedList
LinkedList 既可以作为队列使用,也可以作为栈使用。
Queue
作为Queue 使用,我们使用offer方法在队尾增加一个元素,poll方法会从队头取出元素。
在LinkedList 实现为,offer(linkLast)、poll(unLinkFirst),一个操作队尾,一个操作队头。
Stack
作为Stack 使用,使用push 把一个元素压入栈中,使用pop 弹出一个元素。在LinkedList 实现为,push(addFirst)、pop(removeFirst),都是操作的队头。
注意,上面的Queue 和 Stack 只是示意图,LinkedList 数据结构使用的为链表,而不是数组。
代码
package com.xinyu.test;import java.util.LinkedList;/*** Created by zy on 2020/4/4.*/
public class LinkedListTest {public static void main(String[] args) {useAsQueue();useAsStack();}/*** 先进先出*/public static void useAsQueue(){LinkedList<Integer> linkedList = new LinkedList<>();linkedList.offer(1);linkedList.offer(2);linkedList.offer(3);while (!linkedList.isEmpty()) {System.out.println(linkedList.poll());}}/*** 先进后出*/public static void useAsStack(){LinkedList<Integer> linkedList = new LinkedList<>();linkedList.push(1);linkedList.push(2);linkedList.push(3);while (!linkedList.isEmpty()){System.out.println(linkedList.pop());}}}
LinkedList 使用巩固及图解相关推荐
- 可由一个尾指针唯一确定的链表有_极客算法训练笔记(三),链表详细图解,别再逃避了朋友...
目录 缓存引爆链表 链表单链表双向链表循环链表双向循环链表 LinkedHashMap实现LRU缓存,源码解析(JDK1.8) 算法 爬楼梯 算法 反转链表 算法 链表环检测 缓存引爆链表 存储结构 ...
- Java14-day05【集合(Collection常用方法-遍历、List特有方法、List集合子类特点、LinkedList集合的特有功能、ListIterator)】
视频+资料(工程源码.笔记)[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg 提取码:zjxs] Java基础--学习笔记(零起点打开java ...
- 链表数据结构图解 和 代码实现
项目中经常会用到LinkedList集合来存储数据,打算写一篇LinkedList的源码解析,而LinkedList是基于链表结构存储数据的,这篇博文将解析链表数据结构,包括单向链表和双向链表: 1: ...
- 图解HashMap和HashSet的内部工作机制
转载自 图解HashMap和HashSet的内部工作机制 HashMap 和 HashSet 内部是如何工作的?散列函数(hashing function)是什么? HashMap 不仅是一个常用的数 ...
- Redis中数据结构和编码详细图解(应用场景及优缺点)
专业术语 sds:simple dynamic string 简单动态字符串,redis自己开发的一个字符串的抽象类型 embstr:embedded sds string embstr编码的SDS, ...
- 严蔚敏算法约瑟夫环_极客算法训练笔记(三),链表详细图解,别再逃避了朋友...
目录 缓存引爆链表 链表 单链表 双向链表 循环链表 双向循环链表 LinkedHashMap实现LRU缓存,源码解析(JDK1.8) 算法 爬楼梯 算法 反转链表 算法 链表环检测 缓存引爆链表 存 ...
- 万字图解Java多线程,不信你学不会!
来源:Java面试题精选 前言 java多线程我个人觉得是javaSe中最难的一部分,我以前也是感觉学会了,但是真正有多线程的需求却不知道怎么下手,实际上还是对多线程这块知识了解不深刻,不知道多线程a ...
- 面试必会之LinkedList源码分析
作者:Java知音-微笑面对生活 概述 LinkedList是一种可以在任何位置进行高效地插入和移除操作的有序序列,它是基于双向链表实现的,是线程不安全的,允许元素为null的双向链表. 源码分析 1 ...
- 算法(三):图解广度优先搜索算法
算法(三):图解广度优先搜索算法 算法简介 广度优先搜索算法(Breadth First Search),又称为"宽度优先搜索"或"横向优先搜索",简称BFS: ...
最新文章
- 2019北京智源大会完整议程重磅揭晓!
- 企业级UML/MDA工具Trufun 2007系列发布!
- 抖音访问太频繁-设备注册分析
- JavaScript-操作DOM对象-删除dom节点
- Android 系统(159)----MTK 平台过CTA时,发生权限未明示问题
- 琴生不等式一般形式_[学习笔记]常用不等式
- CQUOJ月赛(5月)H题:zzblack与斐波那契数列
- 别让这个时代越来越冷漠
- Echarts+Vue地图
- 概率论 方差公式_斯坦福 CS229 机器学习课程的数学基础(概率论)翻译完成
- oracle系统常见错误(摘自文平书)
- Verilog 中的Procedural continuous assignments
- 免流服务器系统怎么选,免流云服务器选
- 数量遗传学 第五章 双亲杂交后代数量性状均值和方差组成
- 剑指Offer对答如流系列 - 用两个栈实现队列
- 元学习——通过知识迁移的图小样本学习(Graph Few-shot Learning via Knowledge Transfer)
- python知到答案_Python语言应用_知到网课答案
- Oracle-OGG trail 文件大小引起的进程异常 OGG-01172
- ibaits中进行log4j控制台输出
- 电子合同作为电子证据的司法认定标准