leafiterator.java

来自「java设计模式源码」· Java 代码 · 共 37 行

JAVA
37
字号
package com.oozinoz.iterator;

/*
 * Copyright (c) 2001, 2005. Steven J. Metsker.
 * 
 * Steve Metsker makes no representations or warranties about
 * the fitness of this software for any particular purpose, 
 * including the implied warranty of merchantability.
 *
 * Please use this software as you wish with the sole
 * restriction that you may not claim that you wrote it.
 */

import java.util.Set;

public class LeafIterator extends ComponentIterator {
    public LeafIterator(Object head, Set visited) {
        super(head, visited);
    }

    public int getDepth() {
        return 0;
    }

    public boolean hasNext() {
        return !visited.contains(head);
    }

    public Object next() {
        if (visited.contains(head)) return null;

        visited.add(head);
        return head;
    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?