以上就是写得一手特烂的总结。
源码全部在github上:
github地址:https://github.com/anxpp/JavaDesignPattern
LinkedList可以实现栈、队列等数据结构,但我们还是希望一个专一的队列或数据结构,下面就以代理(部分代理)实现栈和队列:
//LinkedList的使用public class TestUse { public static void main(String[] args) { //栈 Stack<Integer> stack = new Stack<Integer>(); for(int i=0;i<10;i) stack.push(i); System.out.println(stack.peek()); System.out.println(stack.peek()); System.out.println(stack.pop()); System.out.println(stack.pop()); System.out.println(stack.pop()); Iterator<Integer> iterator = stack.iterator(); while(iterator.hasNext()) System.out.print(iterator.next()); System.out.println(); //队列 Queue<Integer> queue = new Queue<Integer>(); for(int i=0;i<10;i) queue.enqueue(i); System.out.println(queue.peek()); System.out.println(queue.peek()); System.out.println(queue.dequeue()); System.out.println(queue.dequeue()); System.out.println(queue.dequeue()); iterator = queue.iterator(); while(iterator.hasNext()) System.out.print(iterator.next()); }}//很使用使用代理模式利用LinkedList实现一个栈class Stack<T> implements Iterable<T>{ private LinkedList<T> stack = new LinkedList<T>(); public T pop(){//出栈,会删除栈顶元素 return stack.poll(); } public T peek(){//出栈,但不删除栈顶元素 return stack.peek(); } public void push(T t){//入栈 stack.push(t); } @Override public Iterator<T> iterator() { return stack.iterator(); }}//很使用使用代理模式利用LinkedList实现一个队列class Queue<T> implements Iterable<T>{ private LinkedList<T> queue = new LinkedList<T>(); public void enqueue(T t){ queue.offer(t); } public T dequeue(){ return queue.poll(); } public T peek(){ return queue.peek(); } @Override public Iterator<T> iterator() { return queue.iterator(); }}
这样一来,队列和栈的使用就更加明确。
以上就是23种设计模式介绍以及在Java中的实现的全文介绍,希望对您学习和使用程序编程有所帮助.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-33893-48.html
12海里领海和200海里专属经济区规定的既定事实
坚持按期收回巴拿马运河
请问
讓人人有錢賺