Source Code : Int Vector

Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com. Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com. Click Here or search from google with Libraries Name you get jar file related it

Int Vector

       

/* Copyright (C) 2003 Vladimir Roubtsov. All rights reserved.
 * 
 * This program and the accompanying materials are made available under
 * the terms of the Common Public License v1.0 which accompanies this distribution,
 * and is available at http://www.eclipse.org/legal/cpl-v10.html
 * 
 * $Id: IntVector.java,v 1.1.1.1 2004/05/09 16:57:53 vlad_r Exp $
 */

// ----------------------------------------------------------------------------
/**
 * @author Vlad Roubtsov, (C) 2001
 */
public
final class IntVector implements Cloneable
{
    // public: ................................................................
    
    public IntVector ()
    {
        this (5);
    }
    
    public IntVector (final int initCapacity)
    {
        m_values = new int [initCapacity];
    }
    
    // ACCESSORS:
    
    public int get (final int index)
    {
        if (index > m_size - 1)
            throw new IndexOutOfBoundsException ("get[" + index + "] on vector of size " + m_size);
                
        return m_values [index];
    }
    
    public int [] values ()
    {
        if (m_size == 0)
            return new int[0];
        else
        {
            final int size = m_size;
            final int [] result = new int [size];
            
            if (size < COPY_THRESHOLD)
            {
                for (int i = 0; i < size; ++ i) result [i] = m_values [i];
            }
            else
            {
                System.arraycopy (m_values, 0, result, 0, size);
            }
            
            return result;
        }
    }
    
    public int size ()
    {
        return m_size;
    }
    
    // Cloneable:
    
    /**
     * Performs deep copy.
     */
    public Object clone ()
    {
        try
        {
            final IntVector _clone = (IntVector) super.clone ();
            
            // deep clone:
            if (m_size < COPY_THRESHOLD)
            {
                _clone.m_values = new int [m_values.length];
                final int [] _clone_values = _clone.m_values;
                for (int i = 0; i < m_size; ++ i) _clone_values [i] = m_values [i];
            }
            else
            {
                _clone.m_values = (int []) m_values.clone ();
            }
            
            return _clone;
        }
        catch (CloneNotSupportedException e)
        {
            throw new InternalError (e.toString ());
        }
    }
    
    public String toString ()
    {
        final StringBuffer s = new StringBuffer (super.toString() + ", size " + m_size + ": ");
        for (int i = 0; i < m_size; ++ i)
        {
            if (i > 0) s.append (", ");
            s.append (m_values [i]);
        }
        
        return s.toString ();
    }
    
    // MUTATORS:
    
    public int set (final int index, final int value)
    {
        if (index > m_size - 1)
            throw new IndexOutOfBoundsException ("get[" + index + "] on vector of size " + m_size);
        
        final int current_value = m_values [index];
        m_values [index] = value;
        
        return current_value;
    }
    
    public void add (final int value)
    {
        final int capacity = m_values.length;
        if (capacity == m_size)
        {
            final int [] values = new int [1 + (capacity << 1)];
            if (capacity < COPY_THRESHOLD)
            {
                for (int i = 0; i < capacity; ++ i) values [i] = m_values [i];
            }
            else
            {
                System.arraycopy (m_values, 0, values, 0, capacity);
            }
            
            m_values = values;
        }
        
        m_values [m_size ++] = value;
    }    
    
    // protected: .............................................................

    // package: ...............................................................
    
    // private: ...............................................................
    
    
    private int [] m_values; // never null
    private int m_size;
    
    private static final int COPY_THRESHOLD = 10;

} // end of class
// ----------------------------------------------------------------------------

   
    
    
    
    
    
    
  

Thank with us