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 + -
显示快捷键?