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

📄 fastvector.java

📁 用java实现的数据挖掘的关联规则的Apriori
💻 JAVA
字号:
// Decompiled by DJ v3.9.9.91 Copyright 2005 Atanas Neshkov  Date: 2007-5-16 21:09:00
// Home Page : http://members.fortunecity.com/neshkov/dj.html  - Check often for new version!
// Decompiler options: packimports(3) 
// Source File Name:   FastVector.java

import java.io.Serializable;
import java.util.Enumeration;

public class FastVector
    implements Copyable, Serializable
{
    public class FastVectorEnumeration
        implements Enumeration
    {

        public final boolean hasMoreElements()
        {
            return m_Counter < m_Vector.size();
        }

        public final Object nextElement()
        {
            Object obj = m_Vector.elementAt(m_Counter);
            m_Counter++;
            if(m_Counter == m_SpecialElement)
                m_Counter++;
            return obj;
        }

        private int m_Counter;
        private FastVector m_Vector;
        private int m_SpecialElement;
        final FastVector this$0;

        public FastVectorEnumeration(FastVector fastvector1)
        {
            this$0 = FastVector.this;
            super();
            m_Counter = 0;
            m_Vector = fastvector1;
            m_SpecialElement = -1;
        }

        public FastVectorEnumeration(FastVector fastvector1, int i)
        {
            this$0 = FastVector.this;
            super();
            m_Vector = fastvector1;
            m_SpecialElement = i;
            if(i == 0)
                m_Counter = 1;
            else
                m_Counter = 0;
        }
    }


    public FastVector()
    {
        m_Objects = new Object[0];
        m_Size = 0;
        m_CapacityIncrement = 1;
        m_CapacityMultiplier = 2D;
    }

    public FastVector(int i)
    {
        m_Objects = new Object[i];
        m_Size = 0;
        m_CapacityIncrement = 1;
        m_CapacityMultiplier = 2D;
    }

    public FastVector(int i, int j, double d)
    {
        m_Objects = new Object[i];
        m_Size = 0;
        m_CapacityIncrement = j;
        m_CapacityMultiplier = d;
    }

    public final void addElement(Object obj)
    {
        if(m_Size == m_Objects.length)
        {
            Object aobj[] = new Object[(int)m_CapacityMultiplier * (m_Objects.length + m_CapacityIncrement)];
            System.arraycopy(((Object) (m_Objects)), 0, ((Object) (aobj)), 0, m_Size);
            m_Objects = aobj;
        }
        m_Objects[m_Size] = obj;
        m_Size++;
    }

    public final int capacity()
    {
        return m_Objects.length;
    }

    public final Object copy()
    {
        FastVector fastvector = new FastVector(m_Objects.length, m_CapacityIncrement, m_CapacityMultiplier);
        fastvector.m_Size = m_Size;
        System.arraycopy(((Object) (m_Objects)), 0, ((Object) (fastvector.m_Objects)), 0, m_Size);
        return fastvector;
    }

    public final Object copyElements()
    {
        FastVector fastvector = new FastVector(m_Objects.length, m_CapacityIncrement, m_CapacityMultiplier);
        fastvector.m_Size = m_Size;
        for(int i = 0; i < m_Size; i++)
            fastvector.m_Objects[i] = ((Copyable)m_Objects[i]).copy();

        return fastvector;
    }

    public final Object elementAt(int i)
    {
        return m_Objects[i];
    }

    public final Enumeration elements()
    {
        return new FastVectorEnumeration(this);
    }

    public final Enumeration elements(int i)
    {
        return new FastVectorEnumeration(this, i);
    }

    public final Object firstElement()
    {
        return m_Objects[0];
    }

    public final int indexOf(Object obj)
    {
        for(int i = 0; i < m_Size; i++)
            if(obj.equals(m_Objects[i]))
                return i;

        return -1;
    }

    public final void insertElementAt(Object obj, int i)
    {
        if(m_Size < m_Objects.length)
        {
            System.arraycopy(((Object) (m_Objects)), i, ((Object) (m_Objects)), i + 1, m_Size - i);
            m_Objects[i] = obj;
        } else
        {
            Object aobj[] = new Object[(int)m_CapacityMultiplier * (m_Objects.length + m_CapacityIncrement)];
            System.arraycopy(((Object) (m_Objects)), 0, ((Object) (aobj)), 0, i);
            aobj[i] = obj;
            System.arraycopy(((Object) (m_Objects)), i, ((Object) (aobj)), i + 1, m_Size - i);
            m_Objects = aobj;
        }
        m_Size++;
    }

    public final Object lastElement()
    {
        return m_Objects[m_Size - 1];
    }

    public final void removeElementAt(int i)
    {
        System.arraycopy(((Object) (m_Objects)), i + 1, ((Object) (m_Objects)), i, m_Size - i - 1);
        m_Size--;
    }

    public final void removeAllElements()
    {
        m_Objects = new Object[m_Objects.length];
        m_Size = 0;
    }

    public final void appendElements(FastVector fastvector)
    {
        setCapacity(size() + fastvector.size());
        System.arraycopy(((Object) (fastvector.m_Objects)), 0, ((Object) (m_Objects)), size(), fastvector.size());
        m_Size = m_Objects.length;
    }

    public final Object[] toArray()
    {
        Object aobj[] = new Object[size()];
        System.arraycopy(((Object) (m_Objects)), 0, ((Object) (aobj)), 0, size());
        return aobj;
    }

    public final void setCapacity(int i)
    {
        Object aobj[] = new Object[i];
        System.arraycopy(((Object) (m_Objects)), 0, ((Object) (aobj)), 0, Math.min(i, m_Size));
        m_Objects = aobj;
        if(m_Objects.length < m_Size)
            m_Size = m_Objects.length;
    }

    public final void setElementAt(Object obj, int i)
    {
        m_Objects[i] = obj;
    }

    public final int size()
    {
        return m_Size;
    }

    public final void swap(int i, int j)
    {
        Object obj = m_Objects[i];
        m_Objects[i] = m_Objects[j];
        m_Objects[j] = obj;
    }

    public final void trimToSize()
    {
        Object aobj[] = new Object[m_Size];
        System.arraycopy(((Object) (m_Objects)), 0, ((Object) (aobj)), 0, m_Size);
        m_Objects = aobj;
    }

    private Object m_Objects[];
    private int m_Size;
    private int m_CapacityIncrement;
    private double m_CapacityMultiplier;
}

⌨️ 快捷键说明

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