dxvectoriterator.java

来自「Java的面向对象数据库系统的源代码」· Java 代码 · 共 86 行

JAVA
86
字号
// You can redistribute this software and/or modify it under the terms of// the Ozone Library License version 1 published by ozone-db.org.//// The original code and portions created by SMB are// Copyright (C) 1997-@year@ by SMB GmbH. All rights reserved.//// $Id: DxVectorIterator.java,v 1.1 2001/12/18 10:31:30 per_nyfelt Exp $package org.ozoneDB.DxLib;import java.util.*;/** *  *  * @author <a href="http://www.softwarebuero.de/">SMB</a> * @version $Revision: 1.1 $Date: 2001/12/18 10:31:30 $ */public final class DxVectorIterator extends DxAbstractIterator {        final static long serialVersionUID = 1L;    DxVectorCollection	coll;        Vector		vector;        int			currentIndex;        Object		currentObject;            /**     */    public DxVectorIterator( DxVectorCollection _coll ) {        coll = _coll;        vector = coll.internalVector();        reset();    }            /**     */    public Object object() {        return currentObject;    }             /**     */    public Object next() {        if (atFirstObject) {            atFirstObject = false;        } else {            try {                //skip null elements                while ((currentObject = vector.elementAt( ++currentIndex )) == null);            } catch (ArrayIndexOutOfBoundsException e) {                //object returns null if currentIndex exceeds vector size                currentObject = null;            }        }         return currentObject;    }             /**     */    public void reset() {        atFirstObject = true;        objectRemoved = false;        currentIndex = 0;        currentObject = currentIndex < vector.size() ? vector.elementAt( currentIndex ) : null;    }             /**     */    public synchronized Object removeObject() {        Object answer = vector.elementAt( currentIndex );        //decrement index to point to the same index after next()        vector.removeElementAt( currentIndex-- );        coll.decCounter();        return answer;    }}

⌨️ 快捷键说明

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