memqueue.java

来自「一个搜索引擎,希望对大家有用」· Java 代码 · 共 111 行

JAVA
111
字号
/* Copyright (C) 2003 Internet Archive. * * This file is part of the Heritrix web crawler (crawler.archive.org). * * Heritrix is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * any later version. * * Heritrix is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU Lesser Public License for more details. * * You should have received a copy of the GNU Lesser Public License * along with Heritrix; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA * * MemQueue.java * Created on Oct 14, 2003 * * $Header: /cvsroot/archive-crawler/ArchiveOpenCrawler/src/java/org/archive/queue/MemQueue.java,v 1.2 2004/08/14 00:00:48 gojomo Exp $ */package org.archive.queue;import java.util.Iterator;import java.util.LinkedList;import org.apache.commons.collections.Predicate;/** An in-memory implementation of a {@link Queue}. * * @author Gordon Mohr * */public class MemQueue extends LinkedList implements Queue {    /** Create a new, empty MemQueue     */    public MemQueue() {        super();    }    /**     * @see org.archive.queue.Queue#enqueue(Object)     */    public void enqueue(Object o) {        add(o);    }    /**     * @see org.archive.queue.Queue#dequeue()     */    public Object dequeue() {        return removeFirst();    }    /**     * @see org.archive.queue.Queue#length()     */    public long length() {        return size();    }    /**     * @see org.archive.queue.Queue#release()     */    public void release() {        // nothing to release    }    /**     * @see org.archive.queue.Queue#peek()     */    public Object peek() {        return getFirst();    }    /**     * @see org.archive.queue.Queue#getIterator(boolean)     */    public Iterator getIterator(boolean inCacheOnly) {        return listIterator();    }    /**     * @see org.archive.queue.Queue#deleteMatchedItems(org.apache.commons.collections.Predicate)     */    public long deleteMatchedItems(Predicate matcher) {        Iterator it = listIterator();        long numberOfDeletes = 0;        while(it.hasNext()){            if(matcher.evaluate(it.next())){                it.remove();                numberOfDeletes++;            }        }        return numberOfDeletes;    }    /* (non-Javadoc)     * @see org.archive.queue.Queue#unpeek()     */    public void unpeek() {        // nothing necessary    }}

⌨️ 快捷键说明

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