b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

解释器模式举例_lua解释器交互模式_动态编译与解释器模式(39)

电脑杂谈  发布时间:2017-02-22 17:29:35  来源:网络整理

客户端(用户)使用:

public class TestUse {    public static void main(String args[]){    AbstractObject obj = new ProxyObject();        obj.method1();        obj.method2();        obj.method3();    }}

控制台的输出就不放上来了,可以看到,代理模式实现确实比较简单,好处也显而易见,将目标对象与使用的用户隔离开,而且在调用目标对象的方法前后还能执行额外的操作(有点aop的概念)。

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();    }}


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-33893-39.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...