⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dxbbiterator.java

📁 用Java写的面相对象的数据库管理系统
💻 JAVA
字号:
// 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-2000 by SMB GmbH. All rights reserved.//// $Id: DxBBIterator.java,v 1.5 2000/10/28 16:55:14 daniela Exp $package org.ozoneDB.DxLib;/** *  *  * @author <a href="http://www.softwarebuero.de/">SMB</a> * @version $Revision: 1.5 $Date: 2000/10/28 16:55:14 $ */public final class DxBBIterator extends DxAbstractIterator {        final static long serialVersionUID = 1L;        DxBBTree bbtree;    DxBBnode node;            /**     */    public DxBBIterator( DxTreeCollection _coll ) {        bbtree = _coll.internalTree();        reset();    }            /**     */    public Object object() {        return node != null ? node.data : null;    }             /**     */    public Object key() {        return node != null ? node.key : null;    }             /**     */    public Object next() {        Object obj = object();        if (atFirstObject) {            atFirstObject = false;        } else {            if (obj != null && !objectRemoved) {                if (node.re != null) {                    node = leftMost( node.re );                } else {                    node = firstRightParent( node );                }                 obj = object();            }             objectRemoved = false;        }         return obj;    }             /**     */    public void reset() {        node = leftMost( bbtree.root() );        atFirstObject = true;        objectRemoved = false;    }             /**     */    public Object removeObject() {        Object obj = object();        if (obj != null && !objectRemoved) {            DxBBnode delNode = node;            if (node.re != null) {                node = leftMost( node.re );            } else {                node = firstRightParent( node );            }             bbtree.removeForKey( delNode.key );            objectRemoved = true;        }         return obj;    }             /**     */    private DxBBnode leftMost( DxBBnode node ) {        if (node != null && node.li != null) {            return leftMost( node.li );        }         return node;    }             /**     */    private DxBBnode firstRightParent( DxBBnode node ) {        if (node == bbtree.quietRoot) {            return null;        }         if (node.isRight) {            return firstRightParent( node.pa );        }         return node.pa;    } }

⌨️ 快捷键说明

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