java基础应用之ArrayList

    ava API对ArrayList的表述:
    类包java.util.ArrayList
    ArrayList是List接口的一个可变长数组实现。实现了所有List接口的操作,并允许存储null值。除了没有进行同步,ArrayList基本等同于Vector。在Vector中几乎对所有的方法都进行了同步,但ArrayList仅对writeObject和readObject进行了同步,其它比如add(Object)、remove(int)等都没有同步。
 
 boolean add(E o)
          将指定的元素追加到此列表的尾部。
 void add(int index, E element)
          将指定的元素插入此列表中的指定位置。
 boolean addAll(Collection<? extends E> c)
          按照指定 Collection 的迭代器所返回的元素顺序,将该 Collection 中的所有元素追加到此列表的尾部。
 boolean addAll(int index, Collection<? extends E> c)
          从指定的位置开始,将指定 Collection 中的所有元素插入到此列表中。
 void clear()
          移除此列表中的所有元素。
 Object clone()
          返回此 ArrayList 实例的浅表复制。
 boolean contains(Object elem)
          如果此列表中包含指定的元素,则返回 true。
 void ensureCapacity(int minCapacity)
          如有必要,增加此 ArrayList 实例的容量,以确保它至少能够容纳最小容量参数所指定的元素数。
 E get(int index)
          返回此列表中指定位置上的元素。
 int indexOf(Object elem)
          搜索给定参数第一次出现的位置,使用 equals 方法进行相等性测试。
 boolean isEmpty()
          测试此列表中是否没有元素。
 int lastIndexOf(Object elem)
          返回指定的对象在列表中最后一次出现的位置索引。
 E remove(int index)
          移除此列表中指定位置上的元素。
 boolean remove(Object o)
          从此列表中移除指定元素的单个实例(如果存在),此操作是可选的。
protected  void removeRange(int fromIndex, int toIndex)
          移除列表中索引在 fromIndex(包括)和 toIndex(不包括)之间的所有元素。
 E set(int index, E element)
          用指定的元素替代此列表中指定位置上的元素。
 int size()
          返回此列表中的元素数。
 Object[ ] toArray()
          返回一个按照正确的顺序包含此列表中所有元素的数组。
<T> T[ ]
 toArray(T[ ] a)
          返回一个按照正确的顺序包含此列表中所有元素的数组;返回数组的运行时类型就是指定数组的运行时类型。
 void trimToSize()
          将此 ArrayList 实例的容量调整为列表的当前大小。

详细的说明推介这几篇文章

1.Java教程 ArrayList:用add代替remove  http://hi.baidu.com/lihuiyansky/blog/item/9001888f254fc1eff01f3698.html

2.java.util.ArrayList
http://blog.java-cn.com/user1/657/archives/2005/415.html

下面是一个我经常使用的代码


import  java.util.ArrayList;

// Cache基类
public   class  Cache
{
    
private int iLimitSize = 0 ;        //Cache大小
    private boolean isLimitSize = false ;    //是否限制大小
    private boolean isNeedCheckSame = false ;    //是否需要判断重复数据
    private ArrayList cache = new ArrayList() ;    //Cache实体

    
public Cache()
    
{
    }


    
//设置Cache大小
    public void setLimitSize( int _iLimitSize )
    
{
        iLimitSize 
= _iLimitSize ;
    }


    
public int getLimitSize()
    
{
        
return iLimitSize ;
    }


    
//设置限制大小标识
    public void setIsLimitSize( boolean _isLimit )
    
{
        isLimitSize 
= _isLimit ;
    }


    
public boolean getIsLimitSize()
    
{
        
return isLimitSize ;
    }


    
public void setIsNeedCheckSame( boolean _isNeedCheck )
    
{
        isNeedCheckSame 
= _isNeedCheck ;
    }


    
public boolean getIsNeedCheckSame()
    
{
        
return isNeedCheckSame ;
    }


    
//由索引号得到Cache中的数据
    public Object getItem( int _iIndex )
    
{
        
try
        
{
            
return cache.get( _iIndex );
        }

        
catch(IndexOutOfBoundsException e)
        
{
            
return null;
        }

    }


    
//由索引号设置Cache中的数据
    synchronized public boolean replaceItem( int _iIndex , Object _obj )
    
{
        
try
        
{
            cache.set( _iIndex , _obj ) ;
        }

        
catch(IndexOutOfBoundsException e)
        
{
            
return false;
        }

        
return true;
    }


    
//往Cache中增加数据
    synchronized public boolean addItem( Object _obj )
    
{
        
try
        
{
            
if( isNeedCheckSame && (cache.indexOf( _obj ) >= 0 ) )
                
return false ;
            
if( isLimitSize && ( cache.size() >= iLimitSize ))
                cache.remove( 
0 ) ;
            cache.add( _obj ) ;
        }

        
catch( Exception e )
        
{
            
return false ;
        }

        
return true ;
    }


    
//从Cache中删除指定数据项
    synchronized public void removeItem( Object _obj )
    
{
        
try
        
{
            cache.remove( _obj ) ;
        }

        
catch( Exception e )
        
{
        }

    }


    
//从Cache中删除指定索引号数据
    synchronized public void removeItem( int _iIndex )
    
{
        
try
        
{
            cache.remove( _iIndex ) ;
        }

        
catch( Exception e )
        
{
        }

    }


    
//由Cache中相应数据得到其索引号
    public int getItemIndex( Object _obj )
    
{
        
return cache.indexOf( _obj ) ;
    }


    
//在Cache中判断是否存在指定数据
    public boolean isExistItem( Object _obj )
    
{
        
if( getItemIndex( _obj ) < 0 )
            
return false ;
        
else
            
return true ;
    }


    
//清空Cache
    synchronized public void clear()
    
{
        cache.clear();
    }


    
//得到Cache中数据长度
    public int lenth()
    
{
        
int iSize = 0 ;

        
try
        
{
            iSize 
= cache.size() ;
        }

        
catch( Exception e )
        
{
            iSize 
= 0 ;
        }


        
return iSize ;
    }


}



你可能感兴趣的:(java,object,vector,cache,list,equals)