创建自己的Queue底层实现是链表
来源:互联网 发布:js 构造对象的方式 编辑:程序博客网 时间:2024/05/17 01:18
import java.util.LinkedList;
import java.util.List;
public class QLNode<T> {
private List<T> list;
public List<T> getList() {
return list;
}
public void setList(List<T> list) {
this.list = list;
}
public QLNode(){
this.list=new LinkedList<T>();
}
public QLNode(List<T> list) {
super();
this.list = list;
}
}
package queueListedList;
public class QueueByLinkedList<T> {
private QLNode<T> queue;
public QLNode<T> getQueue() {
return queue;
}
public void setQueue(QLNode<T> queue) {
this.queue = queue;
}
public QueueByLinkedList(QLNode<T> queue) {
super();
this.queue = queue;
}
public QueueByLinkedList(){
this.queue=new QLNode<T>();
}
//队列是否为空
public boolean isEmpty(){
return queue.getList().isEmpty();
}
//插入元素
public void offer(T data){
queue.getList().add(data);
}
//删除元素
public T take(){
return queue.getList().remove(0);
}
//队列中元素的个数
public int size(){
return queue.getList().size();
}
//将队列清除
public void clear(){
queue.getList().clear();
}
public static void main(String[] args) {
QueueByLinkedList<String> queue=new QueueByLinkedList<String>();
queue.offer("a");
queue.offer("b");
queue.offer("c");
// queue.clear();
System.out.println(queue.size());
while(!queue.isEmpty()){
String v=queue.take();
System.out.print(v+" ");
}
System.out.println();
System.out.println(queue.size());
}
}
- 创建自己的Queue底层实现是链表
- 创建自己的队列Queue底层实现利用数组
- 创建自己的循环Queue底层使用数组java版
- 创建自己的Stack底层使用数组来实现
- ArrayList,Queue,TreeSet,HashMap的底层实现
- queue 简单底层实现
- 【STL源码剖析读书笔记】自己实现queue之MyQueue(底层用MyList)
- 自己实现的queue模板类
- 自己实现RedisCallBack底层
- 自己实现LinkedList底层
- 自己写的Queue
- 自己手动实现HashMap底层
- KVO底层实现--写一个自己的KVO
- 自己实现一个ArrayList,模仿ArrayList类的底层结构
- 创建自己的CoordinatorLayout实现
- Executors工厂类创建线程池的底层实现
- Android okhttp3 创建Socket的底层实现追踪
- 线程池的底层实现和5种创建方式
- .net窗体关闭并没有回收内存
- 黑马程序员——继承和重写的区别
- 黑马程序员——面向对象三大特性
- 测试工程师
- Android系统Framework层源码调试
- 创建自己的Queue底层实现是链表
- java中Math类与Random类的用法
- bug
- 二维数组中的查找
- 给iOS工程增加Daily Build
- 黑马程序员——String
- Java加密解密技术系列之MD5
- 单链表的插入与删除算法
- 日报2015/10/11(极客学院安卓视频学习)