LinkedList是用双向链表结构存储数据的,很适合数据的动态插入和删除,随机访问和遍历速度比较慢. 底层是一个双向链表,链表擅长插入和删除操作,队列和栈最常用的2种操作都设计到插入和删除 import java.util.LinkedList; import java.util.Queue; //用linkedList模拟队列,因为链表擅长插入和删除 public class Hi { public static void main(String [] args) { //做剑指offer遇…
最近在LeekCode用java写一些算法时,经常遇到要使用栈和队列结构,使用栈的话,Stack已经不被推荐使用了,所以栈和队列我们通常都是用LinkedList这种双链表结构实现.Linkedlist是一个双向链表,操作起来非常方便,java也封装了很多的方法在这个双向链表里面. 题目:使用栈,LeekCode中20题 --有效括号 Deque表示双端队列.双端队列是在两端都可以进行插入和删除的队列.Deque是一个比Stack和Queue功能更强大的接口,它同时实现了栈和队列的功能.Arra…
232. 用栈实现队列 232. Implement Queue using Stacks 题目描述 使用栈实现队列的下列操作: push(x) -- 将一个元素放入队列的尾部. pop() -- 从队列首部移除元素. peek() -- 返回队列首部的元素. empty() -- 返回队列是否为空. 每日一算法2019/5/7Day 4LeetCode232. Implement Queue using Stacks 示例: MyQueue queue = new MyQueue(); que…
首先我们来看一下Queue接口: /** * @since 1.5 */ public interface Queue<E> extends Collection<E> { // 添加指定元素,在添加失败时(队列满),抛出IllegalStateException boolean add(E e); // 添加指定元素,在添加失败时(队列满),返回false boolean offer(E e); // 删除并返回头部,当队列为空时,抛出NoSuchElementException…
概述 Queue 和 Deque 都是接口.其中 Queue 接口定义的是一个队列,它包含队列的基本操作:入队(enqueue)和出队(dequeue). Deque 接口继承自 Queue 接口,表示双端队列(Double-ended queue),同时具备「队列」和「栈」的性质.二者的继承关系如下: PS: 图中还包括阻塞队列 BlockingQueue 和 BlockingDeque,这里暂不分析. Queue Queue 接口定义如下: 它定义了 6 个方法,根据操作可以分为三类:入队.…
消息队列对大多数人应该比较陌生.但是要提到MQ听说过的人会多很多.MQ就是英文单词"Message queue"的缩写,翻译成中文就是消息队列(我英语差,翻译错了请告知). PS:话说国人熟悉MQ比消息队列多,是不是因为国人的外语水平高于国语水平好几个数量级 1.看一下度娘怎么解释消息队列 参考链接:消息队列_百度百科 度娘解释消息队列是在两台计算机间传输的,套句很时髦的说法就是用来做分布式传输的,是个很高大上的东西 2.我的看法稍有不同 我更追溯到“消息队列”的字面“本源”的意思.我…
集合: 集合就是一个容器,他可以存储对象,我们说集合就是一个可变的数组 集合框架特点 1.list和set集合同时实现了collection接口 2.set集合存储唯一,无序的对象. 3.list 存储的不唯一,有序的对象(顺序,按存储的先后顺序) 4.map接口存储的方式:键值对进行存储,键是唯一,值不唯一,且无序 ,map是单独的一个接口 5.我们的集合框架都在,java.utill这个包里面 <List接口> 1.list接口有两个实现类:arraylist,linkedList 2.a…
Java中的集合(二)单列集合顶层接口------Collection接口 Collection是一个高度封装的集合接口,继承自Iterable接口,它提供了所有集合要实现的默认方法.由于Iterable封装了Iterator迭代器,因此Collection可以使用Iterator迭代器. Collection用于表示一组单值对象的集合,这些对象也称为元素. Collection接口定义了一系列抽象方法,规范了对单值类型的集合的操作标准. 一.Collection子接口或子类 Collectio…
学习COM编程技术也快有半个月了,这期间看了很多资料和别人的程序源码,也尝试了用delphi.C++.C#编写COM程序,个人感觉Delphi是最好上手的.C++的模版生成的代码太过复杂繁琐,大量使用编译宏替代函数代码,让初学者知其然而不知其所以然:C#封装过度,COM编程注定是要与操作系统频繁打交道的,需要调用大量API函数和使用大量系统预定义的常量与类型(结构体),这些在C#中都需手工声明,不够简便:Delphi就简单多了,通过模版创建的工程代码关系结构非常清晰,而且其能非常容易使用API函…
/* * 使用多接口 */ //定义接口1 interface IPerosn_one{ public function eat(); } //定义接口2 interface IPerson_two{ public function run(); } //定义接口3 interface IPerson_three{ public function water(); } //定义继承自接口的类 class Menperson implements IPerosn_one,IPerson_two,I…